Setup von SD-Karte funktioniert nicht

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
mcosmo
Beiträge: 3
Registriert: 06.01.2018 17:31:15

Setup von SD-Karte funktioniert nicht

Beitrag von mcosmo » 06.01.2018 17:48:16

Hallo,

gemäß folgender Anleitung wollte ich Debian auf die SD-Karte für das DE0 Nano FPGA Board installieren:
https://eewiki.net/display/linuxonarm/D ... etc/fstab)
Gescheitert bin ich allerdings bei dem Punkt des Setup der SD-Karte. Der Befehl:

Code: Alles auswählen

export DISK=/dev/mmcblk0
sudo dd if=/dev/zero of=${DISK} bs=1M count=64
liefert den Fehler:

dd: Fehler beim Schreiben von „/dev/mmcblk0“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar

Und der Befehl:

Code: Alles auswählen

dmesg | tail -n 10
liefert:

Code: Alles auswählen

[  219.620282] scsi4 : usb-storage 4-4:1.0
[  220.620127] scsi 4:0:0:0: Direct-Access     TS-RDF5  SD  Transcend    TS37 PQ: 0 ANSI: 6
[  220.620328] sd 4:0:0:0: Attached scsi generic sg2 type 0
[  220.865363] sd 4:0:0:0: [sdc] 15523840 512-byte logical blocks: (7.94 GB/7.40 GiB)
[  220.866037] sd 4:0:0:0: [sdc] Write Protect is off
[  220.866038] sd 4:0:0:0: [sdc] Mode Sense: 23 00 00 00
[  220.866742] sd 4:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[  220.883038]  sdc: unknown partition table
[  220.885525] sd 4:0:0:0: [sdc] Attached SCSI removable disk
[  295.981235] usb 3-11: USB disconnect, device number 6
Hab es auch probiert mit:

Code: Alles auswählen

export DISK=/dev/sdc
damit konnte die SD Karte partioniet und beschrieben werden. Nach anschließendem

Code: Alles auswählen

sudo sfdisk ${DISK} <<-__EOF__
1M,1M,0xA2,
2M,,,*
__EOF__
kommt:

Code: Alles auswählen

sfdisk: Checking that no-one is using this disk right now ...
sfdisk: OK

Disk /dev/sdc: 1021 cylinders, 245 heads, 62 sectors/track
sfdisk:  /dev/sdc: unrecognized partition table type
Old situation:
sfdisk: No partitions found
New situation:
Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdc1         0+     7-     8-      7594+  a2  Unknown
/dev/sdc2   *     0      -      0          0    0  Empty
/dev/sdc3         0      -      0          0    0  Empty
/dev/sdc4         0      -      0          0    0  Empty
sfdisk: Warning: partition 2 has size 0 and is bootable
Successfully wrote the new partition table

Re-reading the partition table ...

sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
Bei dem Versuch, die 2. Partition anzulegen mit:

Code: Alles auswählen

sudo mkfs.ext4 -L rootfs ${DISK}2
kommt dann die Fehlermeldung:

Code: Alles auswählen

mke2fs 1.42.12 (29-Aug-2014)
The file /dev/sdc2 does not exist and no size was specified.
Hab jetzt schon vieles versucht, bin aber nur Einsteiger und gerade ziemlich hilflos, kann mir da einer von euch helfen?

Benutzeravatar
Datenteiler
Beiträge: 84
Registriert: 12.10.2008 21:01:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Hannover
Kontaktdaten:

Re: Setup von SD-Karte funktioniert nicht

Beitrag von Datenteiler » 06.01.2018 21:25:57

Hi,

bevor du versuchst, mit Wiki-Artikel zum Thema dd etwas platt zu machen, solltest du dir wirklich sicher sein, dass du auch das richtige Gerät triffst.

Code: Alles auswählen

dmesg | tail -n 10
Der Befehl dmesg ist da schonmal ein guter Ansatz. Den führt man einmal aus, steckt dann die Karte ein, und führt ihn nochmal aus. Anschließend solltest du dann die Gerätedatei für deine SD-Karte kennen, wenn du dir die Unterschiede zwischen beiden Ausgaben anguckst. Oder du nimmst lsblk, so wie im Tutorial vorgeschlagen:

Code: Alles auswählen

$ sudo lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 111,8G  0 disk  
[...]
sdb                             8:16   1  29,5G  0 disk  
├─sdb1                          8:17   1    63M  0 part  
└─sdb2                          8:18   1  29,4G  0 part  
Bei mir wäre die SD-Karte zB. unter "/dev/sdb" bei dir "/dev/sdc".

Welche Version von "sfdisk" benutzt du denn? Wenn dein "sfdisk" >= 2.26.x ist, benutzt du den entsprechenden Befehl, so wie es auch im Tutorial steht:

Code: Alles auswählen

sudo sfdisk ${DISK} <<-__EOF__
1M,1M,0xA2,
2M,,,*
__EOF__
Dann sollte es klappen.

Viele Grüße
Christian

mcosmo
Beiträge: 3
Registriert: 06.01.2018 17:31:15

Re: Setup von SD-Karte funktioniert nicht

Beitrag von mcosmo » 06.01.2018 22:51:16

Hey, danke schon mal für die schnelle Antwort. Meine Version von sfdisk ist 2.25.2.

BG
Michael

mcosmo
Beiträge: 3
Registriert: 06.01.2018 17:31:15

Re: Setup von SD-Karte funktioniert nicht

Beitrag von mcosmo » 06.01.2018 23:05:51

Sry, hab es oben falsch kopiert gehabt, jedenfalls habe ich schon die richtige Befehlskette für mein sfdisk ausgewählt. Die erste Partition zu beschreiben funktionierte ja. Würde es gehen, wenn ich die 2. Partition händisch in der Datenträgerverwaltung auf ext4 vornehme und im Tutorial einfach dann weitergehe?
BG
Michael

debianoli
Beiträge: 4072
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Setup von SD-Karte funktioniert nicht

Beitrag von debianoli » 07.01.2018 08:02:31

Wenn du mit dem dd Befehl Probleme hast, dann hat entweder deine SD Karte weniger als 64 MB Speicher oder du lässt dd auf eine Partition los.

Sollst du da eine normale SD Karte so behandeln?

DeletedUserReAsG

Re: Setup von SD-Karte funktioniert nicht

Beitrag von DeletedUserReAsG » 07.01.2018 09:45:36

Offensichtlich sollen mit dem verschwurbelten Kram lediglich zwei Partitionen angelegt und formatiert werden? Das Anlegen würde ich bequem mit cfdisk menügeführt erledigen, oder auch mit dem normalen fdisk hintereinander weg. Formatieren dann mit dem entsprechenden mkfs. Ist eine Sache von zwei Minuten – da braucht man nicht mit Variablen und Heredoc wild unnötige Komplexität reinbringen, die dann doch nur zu Fehlern führt.

Wenn die Partitionstabelle nun schon kaputtgespielt ist (gesund sieht der Auszug jedenfalls nicht aus), kann man den Anfang der Karte mit dd überschreiben, und die Tabelle neu anlegen. Und ja, es ist ’ne sehr gute Idee, zu gucken, ob man das richtige Device bearbeitet. Ein zwischenzeitlich eingesteckter USB-Stick o.Ä. kann schon dafür sorgen, dass es nicht mehr sdc ist.

Benutzeravatar
Datenteiler
Beiträge: 84
Registriert: 12.10.2008 21:01:46
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Hannover
Kontaktdaten:

Re: Setup von SD-Karte funktioniert nicht

Beitrag von Datenteiler » 07.01.2018 10:49:13

niemand hat geschrieben: ↑ zum Beitrag ↑
07.01.2018 09:45:36
Offensichtlich sollen mit dem verschwurbelten Kram lediglich zwei Partitionen angelegt und formatiert werden?
Sehe ich auch so. Deine Ausgabe von sfdisk sieht irgendwie komisch aus:
mcosmo hat geschrieben: ↑ zum Beitrag ↑
06.01.2018 17:48:16

Code: Alles auswählen

Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdc1         0+     7-     8-      7594+  a2  Unknown
/dev/sdc2   *     0      -      0          0    0  Empty
/dev/sdc3         0      -      0          0    0  Empty
/dev/sdc4         0      -      0          0    0  Empty
sfdisk: Warning: partition 2 has size 0 and is bootable
Successfully wrote the new partition table
Besonders das " Warning: partition 2 has size 0 and is bootable" sollte nicht sein. Da ist irgendwas bei dd oder sfdisk schief gelaufen, oder deine SD-Karte ist defekt. Deshalb wird es vermutlich nicht funktionieren, wenn du ...
mcosmo hat geschrieben: ↑ zum Beitrag ↑
06.01.2018 23:05:51
... die 2. Partition händisch in der Datenträgerverwaltung auf ext4 vornehme und im Tutorial einfach dann weitergehe?
Wenn ich der Anleitung folge, kommt das bei mir rum, wobei bei mir die SD-Karte unter /dev/sdb zu finden ist und mein sfdisk aktueller ist:

Code: Alles auswählen

$ sudo sfdisk -v
sfdisk from util-linux 2.29.2
$ export DISK=/dev/sdb
$ sudo dd if=/dev/zero of=${DISK} bs=1M count=64
64+0 Datensätze ein
64+0 Datensätze aus
67108864 Bytes (67 MB, 64 MiB) kopiert, 8,92633 s, 7,5 MB/s
Wenn ich mir die Karte dann mit fdisk -l angucke, ist sie leer:

Code: Alles auswählen

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 29,5 GiB, 31637635072 bytes, 61792256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Und lsblk zeigt das auch:

Code: Alles auswählen

$ lsblk
NAME                          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                             8:0    0 111,8G  0 disk  
├─sda1                          8:1    0   243M  0 part  /boot
[...]
sdb                             8:16   1  29,5G  0 disk  
Mit sfdisk werden dann 2 Partitionen angelegt:

Code: Alles auswählen

$ sudo sfdisk ${DISK} <<-__EOF__
> 1M,1M,0xA2,
> 2M,,,*
> __EOF__
Checking that no-one is using this disk right now ... OK

Disk /dev/sdb: 29,5 GiB, 31637635072 bytes, 61792256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

>>> Created a new DOS disklabel with disk identifier 0x6f5b1606.
/dev/sdb1: Created a new partition 1 of type 'Unknown' and of size 1 MiB.
/dev/sdb2: Created a new partition 2 of type 'Linux' and of size 29,5 GiB.
/dev/sdb3: Done.

New situation:

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048     4095     2048    1M a2 unknown
/dev/sdb2  *     4096 61792255 61788160 29,5G 83 Linux

The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Das zeigt auch fdisk -l und das Formatieren mit mkfs.ext4 klappt am Ende:

Code: Alles auswählen

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 29,5 GiB, 31637635072 bytes, 61792256 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6f5b1606

Device     Boot Start      End  Sectors  Size Id Type
/dev/sdb1        2048     4095     2048    1M a2 unknown
/dev/sdb2  *     4096 61792255 61788160 29,5G 83 Linux

$ sudo mkfs.ext4 -L rootfs ${DISK}2
mke2fs 1.43.4 (31-Jan-2017)
Ein Dateisystems mit 7723520 (4k) Blöcken und 1933312 Inodes wird erzeugt.
UUID des Dateisystems: 1df6142a-39a3-4a2b-b8e9-2e02c9228731
Superblock-Sicherungskopien gespeichert in den Blöcken: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

[...]
Vielleicht kannst du da ja irgendwie ansetzen?

debianoli
Beiträge: 4072
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Setup von SD-Karte funktioniert nicht

Beitrag von debianoli » 07.01.2018 12:11:41

Mir ist bei der Anleitung nicht ganz klar, warum da an Anfang der SD-Karte 64 MB überschrieben werden. in den ersten 512 BYTES stecken der MBR und die Partitionstabelle. Vor allem, weil dann 2 aufeinanderfolgende Partitionen angelegt werden, von denen die 1. eine Größe von nur 1 MB hat.

Der dd-Befehl der Anleitung ist für mich einfach Unsinn.

Antworten