Linux: mit hotplug-ng schneller Booten

Michael Hass
12 Kommentare

Alles was die Bootzeit unter Linux beeinflusst ist im Fokus des Interesses der Distributoren. So ist doch gerade die Wartezeit ab dem Einschalten des Rechners ein Ärgernis, zumal die Konkurrenz aus Redmond per default einen mittlerweile schnelleren Start hinlegt, als so manche beliebte Linux-Distribution.

Auf Geschwindigkeit optimierte Distributionen wie Gentoo haben schon seit längerem erkannt, dass das Abarbeiten von Init-Skripten einen beträchtlichen Teil der Boot-Zeit in Anspruch nimmt und deshalb auch eine optionale Parallelisierung mit eingebaut. Diese ist aber auch hier nicht standardmäßig aktiviert.

Nun gibt es einen weiteren Punkt, bei dem an der Boot-Zeit-Schraube gedreht werden kann: Das Hot-Plug-System.

Ein neues System namens „hotplug-ng“ wurde nun in der ersten lauffähigen Version veröffentlicht. Der Unterschied zum herkömmlichen Hot-Plug besteht darin, dass hier keine Shell-Skripte zum Laden der Module verwendet wird, sondern in der Programmiersprache C geschriebener Code.

Das bringt vor allem bei Embedded-Systemen Vorteile, da hier in der Regel ressourcenschonend mit Speicherplatz umgegangen werden muss. Umfangreiche Shell-Skripte sind hier einfach fehl am Platze. Des Weiteren ist die Ausführung von C-Code einfach schneller als das Abarbeiten von Skripten per Interpreter. Man darf hierbei nicht vergessen, dass jedes Skript seine eigene Datei auf dem Datenträger verwendet und es durch diverse Systemaufrufe sowie Filter-Suchen via Grep somit wiederum Zeit kostet, entsprechende Module zu finden, mit geladenen Kernelmodulen zu vergleichen und gegebenenfalls nach zu laden.

Dazu hat Tim Bird, Senior Staff Engineer des CE Linux Forum von Sony Electronics im Laufe dieser Diskussion mitgeteilt, dass bei deren CE-Produkten Boot-Zeiten von unter einer Sekunde machbar sind, wenn gänzlich auf solche Init-Skripte verzichtet wird. Dieses bezieht sich allerdings auf den Verzicht sämtlicher Init-Skripte und nicht nur die des Hotplug-Systems zum Einbinden von Hardware und deren Modulen zur Laufzeit.

Dies heißt zwar nicht zwangsläufig, dass nun die Bootzeit generell auf unter eine Sekunde gedrückt werden kann. Man kommt diesem Vorhaben aber doch um einige Schritte näher.

Derzeit wird das neue System den Distributoren zum Testen angeboten und es ist nicht auszuschließen, dass es sich bald als Ebuild, Deb oder Rpm in den jeweiligen Distributionen wiederfinden lässt.