Kapitel 12. Gerätemanagement über dynamischen Kernel mithilfe von udev

Inhaltsverzeichnis

12.1. Das /dev-Verzeichnis
12.2. Kernel-uevents und udev
12.3. Treiber, Kernel-Module und Geräte
12.4. Booten und erstes Einrichten des Geräts
12.5. Fehlersuche bei udev-Ereignissen
12.6. Ereignisse für die Kernelgeräte mit udev-Regeln steuern
12.7. Permanente Gerätebenennung
12.8. Das ersetzte hotplug-Paket
12.9. Weitere Informationen

Seit Version 2.6 kann der Kernel nahezu jedes Gerät im laufenden System hinzufügen oder entfernen. Änderungen des Gerätestatus (ob ein Gerät angeschlossen oder entfernt wird) müssen an den userspace weitergegeben werden. Geräte müssen konfiguriert werden, sobald sie angeschlossen und erkannt wurden. Benutzer eines bestimmten Geräts müssen über sämtliche Statusänderungen für das entsprechende Gerät informiert werden. udev bietet die erforderliche Infrastruktur, um die Geräteknotendateien und symbolische Links im /dev-Verzeichnis dynamisch zu warten. Mithilfe von udev-Regeln können externe Programme in die Ereignisverarbeitung des Kernel-Geräts eingebunden werden. Auf diese Weise können Sie die udev-Gerätebehandlung anpassen. Sie können beispielsweise bestimmte Skripts hinzufügen, die als Teil der Kernel-Gerätebehandlung ausgeführt werden, oder Sie können zusätzliche Daten zur Auswertung bei der Gerätebehandlung anfordern und importieren.

12.1. Das /dev-Verzeichnis

Die Geräteknoten im /dev-Verzeichnis ermöglichen den Zugriff auf die entsprechenden Kernel-Geräte. Mithilfe von udev spiegelt das /dev-Verzeichnis den aktuellen Status des Kernel wider. Jedes Kernel-Gerät verfügt über eine entsprechende Gerätedatei. Falls ein Gerät vom System getrennt wird, wird der Geräteknoten entfernt.

Der Inhalt des /dev-Verzeichnisses wird in einem temporären Dateisystem gespeichert und alle Dateien werden bei jedem Systemstart neu erstellt. Manuell erstellte oder geänderte Dateien überdauern ein erneutes Booten planmäßig nicht. Statische Dateien und Verzeichnisse, die unabhängig vom Status des entsprechenden Kernel-Geräts immer im /dev-Verzeichnis vorhanden sein sollten, können im Verzeichnis /lib/udev/devices platziert werden. Beim Systemstart wird der Inhalt des entsprechenden Verzeichnisses in das /dev-Verzeichnis kopiert und erhält dieselbe Eigentümerschaft und dieselben Berechtigungen wie die Dateien in /lib/udev/devices.