Bootchart - Durchblick durch den Linux Boot-Prozeß

Habe mir auf meinem ThinkPad OpenSUSE 11.3 installiert. Ich bin ja schon seit mehr als 10 Jahren SUSE-Nutzer und eigentlich mit der aktuellen Version ganz zufrieden. Nur leider dauert der Boot-Prozeß nun ewig lange. Bis der Logon-Screen kommt, vergehen etwa 3,5 Minuten - eindeutig zu lange! Das ganze scheint durch einen Bug im HAL verursacht zu sein. Dieser Fehler beeindruckt das Linux offenbar so sehr, daß es erst einmal etwa 3 Minuten in Schockstarre verfällt. Jedenfalls bekommt man diesen Eindruck, wenn man sich die Ausgabe von dmesg anschaut (Auszug mit Zeitstempeln, Einheiten: Sekunden nach Boot-Anfang):

[   20.966364] Slow work thread pool: Starting up
[   20.966438] Slow work thread pool: Ready
[   20.966481] FS-Cache: Loaded
[   20.980971] FS-Cache: Netfs 'nfs' registered for caching
[   21.282171] hald-probe-inpu[1724]: segfault at 2 ip 00007f487d947f79 sp 00007fff060b69f0 error 4 in libc-2.11.2.so[7f487d8d0000+156000]
[ 21.284650 ] hald-probe-inpu[1725]: segfault at 2 ip 00007fcd30368f79 sp 00007fff4c81a800 error 4 in libc-2.11.2.so[7fcd302f1000+156000]
[ 201.710599 ] BIOS EDD facility v0.16 2004-Jun-25, 1 devices found
[  202.144929] Bluetooth: L2CAP ver 2.14
[  202.144932] Bluetooth: L2CAP socket layer initialized

So, jetzt will ich Euch aber nicht weiter mit meinen IT-Problemen nerven, sondern Euch das im Beitragstitel genannte Progrämmchen vorstellen. Bootchart ist ein Tool, mit dem man genau sehen kann, was beim Booten wann gestartet wird und wie lange es braucht. So kann man auf einem Blick Probleme (so wie bei mir, buhuhu) oder Optimierungs-Potential erkennen. Bootchart ist in den Repositories vieler Linux-Distros dabei und erzeugt nach dem Boot-Vorgang ein Archiv namens bootchart.tgz im Verzeichnis /var/log. Bei mir wird parallel gleich auch eine graphische Aufbereitung mit dem Namen bootchart.png (s. Anlage) erzeugt, die die Informationen in Menschen-lesbarer Form enthält.

Um bootchart auszuführen, ist es am einfachsten, beim Booten dem Linux den Boot-Parameter

init=/sbin/bootchartd

mitzugeben. Man kann natürlich auch einen eigenen Eintrag im Boot-Menü von Grub oder Lilo erstellen, wie hier beschrieben.

Für alle Windows-User: Ein vergleichbares Tool namens Soluto gibt es auch für das Redmonder Betriebssystem.