Nun habe ich es endlich mal in Angriff genommen und das (Pseudo-) Dateisystem auf meinem Lappy auf udevfs umgestellt (was dann im zweiten Anlauf auch scheinbar funktioniert was…). Jedoch habe ich nicht den ganz “harten” Weg gewählt – nur udev -, sondern einen Mittelweg, bei dem im /dev-Verzeichnis auch noch die Einträge des devfs vorhanden sind.
Nachdem ich mich durch ein paar gute Dokus & Foren gehangelt habe, sieht das Zusammenspiel von udev und dem Automounter ivman (am Beispiel der Digitalkamera meiner Schwester und dem MP3-USB-Stick der Jenny – nochmal DANKE an beide für die [Dauer-] Leihgaben!) nun folgendermaßen aus:
Bei Anstecken eines der beiden Geräte wird dieses von udev als ein bestimmtes (von mir vorgegebenes) Device (Stick = “mp3stick”) im Pseudo-Dateisystem unter /dev angemeldet (Stick = /dev/mp3stick), ivman holt sich die benötigten Informationen zum Mounten aus der /etc/fstab und bindet das Gerät an eine bestimmte (von mir vorgegebene) Stelle (Stick = /mnt/mp3stick) ein.
Im Folgenden mal ein kleiner Abriss der vorzunehmenden Schritte…
Am Beispiel des MP3-USB-Sticks möchte ich kurz alle notwendigen Schritte zeigen, die dann analog dazu für die Digitalkamera vorzunehmen sind:
- Folgende Dinge sind im Vorfeld sicherzustellen:
udevmuß funktionieren & “udevtools” sind vorhanden,ivmanist installiert & läuft.
- Den Stick anstecken.
- Dieser sollte als
/dev/sd?(in meinem Beispiel/dev/sdl) erkannt werden.
kernel: usb 1-1.1: new full speed USB device using ohci_hcd and address 24
kernel: scsi18 : SCSI emulation for USB Mass Storage devices
kernel: usb-storage: device found at 24
kernel: usb-storage: waiting for device to settle before scanning
kernel: Vendor: SigmaTel Model: MSCN Rev: 0100
kernel: Type: Direct-Access ANSI SCSI revision: 04
kernel: SCSI device sdl: 505856 512-byte hdwr sectors (259 MB)
kernel: sdl: assuming Write Enabled
kernel: sdl: assuming drive cache: write through
kernel: SCSI device sdl: 505856 512-byte hdwr sectors (259 MB)
kernel: sdl: assuming Write Enabled
kernel: sdl: assuming drive cache: write through
kernel: /dev/scsi/host18/bus0/target0/lun0: unknown partition table
kernel: Attached scsi removable disk sdl at scsi18, channel 0, id 0, lun 0
kernel: usb-storage: device scan complete
scsi.agent[2672]: disk at /devices/pci0000:00/0000:00:01.2/usb1/1-1/1-1.1/1-1.1:1.0/host18/target
18:0:0/18:0:0:0
- Mittels des Tools
udevinfokann man sich alle Eigenschaften eines Gerätes ausgeben lassen:
udevinfo -a -p `udevinfo -q path -n /dev/sda`gibt uns alle Eigenschaften unseres USB-Sticks aus
udevinfo -a -p `udevinfo -q path -n /dev/sda` |grep serialgibt uns alle eindeutigen (Serial-) Nummern des Sticks aus (in meinem Fall zwei)
SYSFS{serial}="??3?0?4?B?012345"
SYSFS{serial}="0000:00:01.2"Ich habe keine Ahnung, ob die erste serial irgendwie defekt ist oder falsch ausgelesen wird (wegen der vielen Fragezeichen) – es funktioniert aber…
- Die erste
SYSFS{serial}ist die des Sticks und die zweite (glaube ich) die des USB-Bus’ – ergo interessiert uns nur die erste. - Den Stick wieder abziehen.
- Nun legen wir uns einen neue udev-Regel für den Stick an – in meinem Beispiel füge ich folgende Zeile in der Datei
/etc/udev/rules.d/10-local.rulesein:
BUS="usb", SYSFS{serial}="??3?0?4?B?012345", KERNEL="sd?", NAME="%k", SYMLINK="mp3stick" - Den Stick wieder anstecken.
- Nun sollte das Device
/dev/mp3stickexistieren undudevseine Arbeit erfolgreich absolviert haben. - Den Stick wieder abziehen.
- Jetzt erstellen wir den zukünftigen Mountpoint:
mkdir /mnt/mp3stickund passen die
/etc/fstaban:/dev/mp3stick /mnt/mp3stick vfat sync,noauto,user,rw,shortname=mixed,iocharset=iso8859-15,codepage=850,u
mask=000 - Wir stöpseln den Stick wieder an.
- Und wenn jetzt
udevundivmanfunktionieren, dann sollte der Inhalt unseres Sticks (/dev/mp3stick) unter/mnt/mp3stickzu finden sein!
Da als kurzen Abriss… Wer Fragen hat, kann mir gern schreiben oder hier einen Kommentar hinterlassen!
Hier noch eine kleine Linkliste zu einigen der hilfreichen Dokumente: