udev einrichten

Nun soll udev zum automatischen Mounten der USB-Geräte eingerichtet werden.

  • Die Geräte-Identifikation
    • Gerät einstecken
    • udevinfo -a -p /sys/block/sda ausführen. Im zweiten Knoten findet man Informationen, mit denen man das Gerät identifizieren kann.
  • Eine eigene udev.rules erstellen
    • Datei /etc/udev/rules.d/010_usbdevices.rules angelegt.
      udev aktualisiert die Konfiguration nur bei Ã?nderungen in genau diesem Verzeichnis.
    • Inhalt:
      # mein usb-stick
      BUS=="scsi", KERNEL=="sd?1", SYSFS{model}=="Flash Disk", NAME="usbstick"
      # meine usb-platte
      BUS=="scsi", KERNEL=="sd?1", SYSFS{model}=="DK23FA-40", NAME="usbdrive"
    • Damit werden der usbstick und die usbplatte automatisch auf die devices /dev/usbstick und /dev/usbdrive zugewiesen. Man kann das nach allen möglichen SYSFS, BUS oder KERNEL – Parametern granularisieren.
  • Die Verzeichnisse anlegen
    mkdir /media/usbstick
    mkdir /media/usbdrive
  • /etc/fstab anpassen:
    # usb kram
    /dev/usbstick /media/usbstick auto defaults,noauto,gid=222,umask=002,quiet,noexec,nodev,showexec,codepage=850,iocharset=i
    so8859-15,nosuid 0 0
    /dev/usbdrive /media/usbdrive auto defaults,noauto,umask=000,quiet,noexec,nodev,showexec,codepage=850,iocharset=iso8859-15,
    nosuid 0 0
  • Nun die Mount- und Unmountskripte erstellen. Den Code habe ich von http://linuxer.onlinehome.de/apps/usb.htm genommen und angepasst.
    • Verzeichnis /etc/dev.d/block/ anlegen
    • Datei usbstick.dev und usbdrive.dev anlegen. Die Dateien heissen also genauso wie die Geräte.
    • Inhalt einer Datei

      #!/bin/sh
      if [ "$ACTION" == "add" ]; then
      if [ "$DEVNAME" == "/dev/usbdrive" ]; then
      if [ $UDEV_LOG ]; then
      logger "usbdrive new device added ($*)[`env`]"
      fi
      mount /media/usbdrive
      fi
      fi
      if [ "$ACTION" == "remove" ]; then
      if [ "$DEVNAME" == "/dev/usbdrive" ]; then
      if [ $UDEV_LOG ]; then
      logger "usbdrive device removed ($*)[`env`]"
      fi
      umount /media/usbdrive
      fi
      fi
      exit 0