hotplug-ng - Bessere Hardware-Erkennung für Linux
Der Autor des bisherigen Hotplug-Paketes(öffnet im neuen Fenster) , Greg Kroah-Hartman, hat dazu begonnen, die Hotplug-Shellskripte von Grund auf in C neu zu schreiben, um die Ausfühungsgeschwindigkeit zu erhöhen und kompakter zu gestalten. Ziel der Entwicklung ist es, den Boot-Prozess zu beschleunigen, aber auch moderne Hardware-Erkennung auf Installationsmedien oder Embedded-Systeme zu bringen, für die die bisherigen Shellskripte zu umfangreich waren.
Hotplug wird auf Linux-Systemen verwendet, um die vorhandene Hardware mit den im Kernel vorhandenen Treibern zu vergleichen und gegebenenfalls Module zu laden oder Zugriffsrechte zu ändern. Dabei vergleicht das Programm "hotplug" die Identifikation der Hardware mit Tabellen, die beim Übersetzen des Kernels generiert und mit den Modulen in /lib/modules/ installiert werden. Dieser Vorgang findet sowohl beim Booten als auch beim Hinzufügen neuer Hardware im laufenden System statt und kann mit den bisherigen Shellskripten schon mal ein paar Sekunden dauern.
Durch den Einsatz von C in Hotplug-ng kann diese Zeit signifikant verringert werden, da es die vielen nötigen "grep"-Aufrufe und den sehr langsam interpretierten Shell-Code ersetzt. Die erhöhte Geschwindigkeit ist nicht nur für Desktop-Anwender interessant, sondern im Zusammenspiel mit Udev auch für Server-Systeme mit zum Beispiel sehr vielen Festplatten, da bei Udev via Hotplug auch die Gerätedateien in /dev dynamisch angelegt werden.
Statisch gelinkt ermöglicht Hotplug-ng auch den Einsatz auf einer initialen RAM-Disk, wofür die Shell-Skripte wegen der vielen nötigen externen Unix-Kommandos nicht geeignet waren.
Neben dem klassischen Hotplug existiert auch noch eine weitere Implementierung namens Rock Plug(öffnet im neuen Fenster) , welche in Rock Linux(öffnet im neuen Fenster) entstanden ist und unter anderem vollständigere "Coldplug"-Events für beim Booten vorhandene Hardware generiert. Im T2 Projekt(öffnet im neuen Fenster) arbeitet man gerade an einer Embedded(öffnet im neuen Fenster) -C++-Implementierung, um zu erforschen, inwieweit mit modernem C++-Code typische C-Fehler vermieden werden können. [von René Rebe]
Anmerkung: Der Autor war für die Entwicklung von Rock Plug verantwortlich und ist auch am T2-Projekt und der Hotplug++-Implementierung maßgeblich beteiligt.



