Login
Newsletter
Werbung

So, 19. Mai 2002, 00:00

USB Flash Drives unter Linux

Das Catcorner USB Flash Drive lässt sich mit dem aktuellen Linux Kernel 2.4.18 benutzen. Der bequeme Zugriff auf das Gerät ist mit AutoFS möglich.

Kurzfassung

Die Catcorner USB-Festplatte.

Details bei WTN-online.de und usbdrive.ch

Das Catcorner USB Flash Drive lässt sich mit dem aktuellen Linux Kernel 2.4.18 benutzen. Der bequeme Zugriff auf das Gerät ist mit AutoFS möglich.

Überblick

Aus dem Sortiment der USB Flash Speicher bietet z.B. die Firma WTN-Online das Catcorner USB Flash Drive in Größen von 16 MB bis zu mehreren GB an. Für Windows 9x liegt eine Treiber-Diskette bei, neuere Microsoft-Betriebssysteme haben die nötigen Treiber bereits integriert.

Auch unter GNU/Linux ist der Zugriff auf das Catcorner USB Flash Drive problemlos. Üblicherweise ist ein wenig Konfigurationsaufwand nötig. Man kann dabei allerdings auch gleich ein bequemes Automount-System einrichten. Weiter unten finden sich dann noch Tipps für Flash-Speicher.

Kernel aktualisieren

Es wird ein aktueller Linux-Kernel benötigt. Ein Kernel 2.4.16 reicht nach meiner Erfahrung nicht aus. Mit z.B. Kernel 2.4.18 funktioniert die Verbindung zum Drive problemlos. Die aktuellsten Linux-Distributionen enthalten bereits diesen Kernel - Zum Beispiel die im deutschen Sprachraum sehr verbreitete SuSE-Linux 8.0.

Ist die Linux-Installation noch einigermaßen aktuell, so kann man sich den benötigten Kernel auch selbst kompilieren. Andere Gründe für den Umstieg auf einen aktuellen Kernel und eine ausführliche Anleitung dazu bietet das DE-Kernel-HOWTO. Für Ungeduldige gibt es natürlich auch kurze Beschreibungen zur Kernel-Kompilierung bei den Tipps von Pro-Linux.

Benötigt wird der aktuelle Kernel, da dort der neuste Driver for USB Mass Storage compliant devices in der Version 2002/02/25 enthalten ist.

USB aktivieren

Sollte die verwendete Distribution noch keinen USB-Support enthalten, muss dieser nun noch installiert werden. Starthilfe gibt dazu unter anderem die FAQ von linux-usb.org.

Wie in Kapitel 2.11. des USB Guide erklärt, kann man sich einen statischen Mountpoint für das Drive einrichten. Die Nachteile sind offensichtlich: Man muss nach dem Einstecken das Drive mounten, und wichtiger noch, man muss es vor dem Ausstöpseln immer unmounten.

Wahres Plug-and-Play bekommt man mit einem Automounter. Die Konfigutation für ein USB Flash Drive ist im Folgenden erklärt.

AutoFS einrichten

Ein Automounter ist in der Lage, je nach Bedarf Dateisysteme einzuhängen und bei Inaktivität wieder auszuhängen. Aktuell sind die Programme autofs und autofs4. Die hier gezeigte Konfiguration ist gleichermaßen für beide verwendbar. Möchte man Netzwerk-Dateisysteme wie Samba verwenden, ist autofs4 besser geeignet.

Eine gute Anleitung ist das Automount HOWTO. Einen praktischen Überblick gibt ein Autofs-Bericht.

In der Datei /etc/autofs.misc sollte folgender Eintrag stehen:

flash -fstype=vfat,sync,umask=000 :/dev/sda1

Damit erhält jeder Benutzer des Rechners gleichermaßen Lese- und Schreibzugriff auf das eingesteckte USB Flash Drive.

Das ist natürlich sehr bequem. Möchte man den Zugriff einschränken, um z.B. für mehr Sicherheit auf einem Mehrbenutzer-System zu sorgen, kann man folgenden Eintrag verwenden. Allerdings muss dabei die Benutzer- und Gruppennummer angepasst werden.

flash -fstype=vfat,sync,uid=1000,gid=100 :/dev/sda1

Die Option sync bewirkt dabei, dass alle Schreibvorgänge sofort (synchron) durchgeführt werden.

Mehr deutschsprachige Anleitungen bietet das Deutsche Linux HOWTO Projekt. Viele weitere nützliche Informationen gibt es vom Linux Documentation Project.

Tipps

Partitionieren des USB Flash Drive

Das Filesystem belegt auf dem Drive nur die ersten 999 von 1000 Zylindern. Interessanterweise ist das bei vielen Flash-Karten so.

Disk /dev/sda: 4 heads, 8 sectors, 1000 cylinders
Units = cylinders of 32 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 999 15980 1 FAT12
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda1 15948 0 15948 0% /mnt

Löscht man, z.B. mit fdisk oder cfdisk, die Partition und legt eine neue für den gesamten Bereich an, so gewinnt man immerhin zusätzliche 16 KB. Danach muss man das Filesystem neu erzeugen. Das erledigt für ein DOS-Filesytem z.B. das Programm mkdosfs.

Wahl des Filesystems

Wenn der Speicher klein ist, also 32 MB oder weniger hat, lohnt es sich, statt eines FAT16- ein FAT12-Dateisystem anzulegen. So gewinnt man noch einmal zusätzlichen Platz.

Disk /dev/sda: 4 heads, 8 sectors, 1000 cylinders
Units = cylinders of 32 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 1000 15996 1 FAT12
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda1 15964 0 15964 0% /mnt

In diesem Beispiel werden 18 KB gewonnen. Das FAT16-Dateisystem macht nur 15946 Blocks verfügbar.

Das Superfloppy-Format

Weiterhin ist es auch möglich, auf die Partitionierung des Drives zu verzichten. Auf Disketten ist das üblich und wird z.B. bei MO-Laufwerken Superfloppy genannt. Da die Partitionstabelle den ersten Zylinder des Speichers belegt, gewinnt man weitere 16 KB. In diesem Beispiel spricht man das Drive danach nicht mehr als /dev/sda1, sondern als /dev/sda an.

Filesystem 1k-blocks Used Available Use% Mounted on
/dev/sda 15968 0 15968 0% /mnt

Das Programm mkdosfs benötigt dabei den Parameter -I, um ein Filesystem direkt auf ein ganzes Device statt in eine Partition zu schreiben.

Da Filesysteme block-orientiert angelegt sind, gibt es immer etwas Verschnitt. So addieren sich die drei Optionen leider nicht komplett. Den größten Beitrag liefert dabei das FAT12-Format, welches aber für Speicher über 32 MB nicht zur Wahl steht.

Anhang

Meldung bei Einstecken des USB Flash Drive

hub.c: USB new device connect on bus1/2, assigned device number 2
usb.c: USB device 2 (vend/prod 0xc76/0x3) is not claimed by any active driver.
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: Model: Rev:
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 32000 512-byte hdwr sectors (16 MB)
sda: Write Protect is off
Using /lib/modules/2.4.18/kernel/drivers/usb/storage/usb-storage.o
Symbol version prefix ''
sda: sda1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 2
USB Mass Storage support registered.

Geschwindigkeit des USB Flash Drive

Das Auslesen des kompletten Catcorner USB Flash Drive mit dem dd-Kommando dauert 4 Min. 22 Sek. Gelesen werden 32.000 Blöcke je 512 Byte. Das bedeutet eine Lesegeschwindigkeit von 61 KB/s (17s pro MB).

Üblicherweise ist das Schreiben auf Flash Speicher langsamer. Die gesamten 32.000 Blöcke werden in 10 Min. 20 Sek. geschrieben. Es ergibt sich eine Schreibgeschwindigkeit von 26 KB/s (40 s pro MB).

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung