Homepage Wiki Forum Buy

Massenspeicher

Aus GNUBLIN

Schwierigkeitsgrad Voraussetzung Gnublin Familie
Gnublin logo advanced.png Kernel kompilieren, Toolchain Alle

Inhaltsverzeichnis


Mit GNUBLIN kann man auf einen gewöhnlichen USB-Stick (Massenspeicher zugreifen). Damit dies funktioniert muss zum einen J1 auf der Host-Stellung (H) stehen der sogenannte ID-Pin auf Masse gezogen sein.

Vorbereitungen

In der alten Version 1.2 des GNUBLIN muss man sich dafür einen Draht von der USB-Buchse noch weglöten. In der neuen Version LPC3131 v1.3 kann man dies bequem über einen Jumper machen.

300px-Usb-id-jumper.jpg

Ist der Jumper gesteckt benötigt man noch einen Adapter von Mini USB A auf Standard USB-A Buchse.

200px-Usbadapterminiaufstandard.jpeg

Dieser Adapter ist in unserem Online-Shop [1] verfügbar.


Alternativ statt dem Löten der alten Gnublin Version, kann man sich auch einen passenden Adapter kaufen, der den ID Pin gegen Masse zieht:

http://www.amazon.de/Hama-Mini-USB-Kabel-Mini-USB-Stecker-Kupplung/dp/B0000AIRXE

400px-Mountmassstorage.JPG

Für Fortgeschrittene

Zuerst muss man das Device herausfinden, als welches der USB Stick erkannt wird (sda, sdb, etc...). Nach dem Booten kann man hierfür den USB-Stick anstecken.

Auf der Konsole erscheint folgende Ausgabe:

root@gnublin:/# root@gnublin:/# usb 1-1: new high speed USB device using lpc-ehci and address 5 usb 1-1: New USB device found, idVendor=0781, idProduct=5567 usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1: Product: Cruzer Blade usb 1-1: Manufacturer: SanDisk usb 1-1: SerialNumber: 20052844830C5B212647 scsi1 : usb-storage 1-1:1.0 scsi 1:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 2 sd 1:0:0:0: Attached scsi generic sg0 type 0 sd 1:0:0:0: [sda] 15625216 512-byte logical blocks: (8.00 GB/7.45 GiB) sd 1:0:0:0: [sda] Write Protect is off sd 1:0:0:0: [sda] Assuming drive cache: write through sd 1:0:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 1:0:0:0: [sda] Assuming drive cache: write through sd 1:0:0:0: [sda] Attached SCSI removable disk

Sollte die Ausgabe nicht erscheinen, so kann man dmesg eingeben um die benötigten Informationen zu erhalten.

Im veralteten ELDK-Rootfs kann es sein, dass die Gerätedateien nicht vorhanden sind. Dann muss man diese von Hand anlegen. Primär merkt man dies, wenn der spätere Mount-Befehl nicht klappt:


mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1

Einbinden des Datenträgers

Der USB-Stick und die sich darauf befindende Partion wurde erkannt. Um die Daten auf dem Stick verwenden zu können, muss die Partition unter Linux in das Dateisystem eingehängt werden.

mount /dev/sdXZ /mnt

Das X steht für den Buchstaben unter welchem der USB-Stick erkannt wurde (z.B a) und das Z steht für die Partition, welche wir einbinden wollen. Das /mnt weist darauf hin, wohin die Partiotion eingebunden werden soll(welches Verzeichnis). Wenn wir zum Beispiel die erste Partition von dem Device sda einbinden wollen so lautet der befehl:

mount /dev/sda1 /mnt 

Jetzt kann man in das Verzeichnis mnt wechseln und dort die Daten sehen:

cd /mnt 
ls


Dateisystemfehler

Zieht man im laufenden System die Stromversorgung von Gnublin, kann es zu Dateisystemfehler kommen. Das Dateisystem muss dann auf einem anderen Linux PC repariert werden. Wie folgt geht man vor:

dmesg

Mittels dem Befehl dmesg nach dem Anstecken der Karte prüfen was für eine Gerätenamen für die Karte vergeben wurde. Die erste Partition ist die, um die es geht. Hier befindet sich ein ext2 Dateisystem drauf, welches man reparieren kann.


[ 1549.424156] sd 7:0:0:2: [sdh] Assuming drive cache: write through [ 1549.425624] sdh: sdh1 sdh2 [ 1549.427527] sd 7:0:0:2: [sdh] Assuming drive cache: write through [ 1549.427533] sd 7:0:0:2: [sdh] Attached SCSI removable disk [ 1549.730223] EXT2-fs (sdh1): warning: mounting unchecked fs, running e2fsck is recommended

In diesem Fall ist es /dev/sdh1. Als erstes trennen wir die Verbindung in das Dateisystem:

umount /dev/sdh1

Jetzt kann man mit verschiedenen Tools das Dateisystem wiederherstellen (fsck.ext2 würde auch gehen)

sudo e2fsck /dev/sdh1
[sudo] password for sauterbe: e2fsck 1.41.14 (22-Dec-2010) /dev/sdh1 wurde nicht ordnungsgemäß ausgehängt, Prüfung erzwungen. Durchgang 1: Prüfe Inodes, Blocks, und Größen Durchgang 2: Prüfe Verzeichnis Struktur Durchgang 3: Prüfe Verzeichnis Verknüpfungen Durchgang 4: Überprüfe die Referenzzähler Durchgang 5: Überprüfe Gruppe Zusammenfassung /dev/sdh1: 20165/952504 Dateien (1.0% nicht zusammenhängend), 774628/1903702 Blöcke

Ab und zu kommt es vor, dass das Programm fragt ob bestimmte Aktionen durchgeführt werden sollen. In diesem Fall immer mit j alles beantworten.

Jetzt sollte wieder alles fehlerfrei arbeiten.

In anderen Sprachen