Das Betriebssystem genau auf die eigenen Hardware abstimmen? Mit Linux geht das, denn damit kann jeder einen seinen Kernel nach Belieben anpassen. Mit ein wenig Hintergrundwissen ist das nicht einmal besonders schwierig. Dieser Artikel erkläert Schritt für Schritt, wie es geht: von einer kleinen Rundreise durch den eigenen Computer, über die zum Kernel-Basteln nötige Software und die Konfiguration, bis hin zur gefahrlosen Installation. Er richtet sich in erster Linie an Anfänger und Fortgeschrittene, bietet aber auch Profis bietet noch einiges an Informationen zum neuen Kernel.
Wer schon einmal probiert hat, einen Kernel zu generieren, hat angesichts seitenweiser Fehlermeldungen vielleicht schnell aufgegeben. Oder der Respekt vor dem funktionierenden Computer verhindert so grundlegende Eingriffe gleich ganz, getreu dem Motto: "Never change a running system" – verändere nie ein laufendes System. Doch es gibt keinen Grund, gleich so schwarz zu sehen, denn Sie können jederzeit und ohne große Schwierigkeiten auf den alten Kernel-Stand wechseln – ganz ohne Systembackup und auch ohne jede Form der Hexerei. Letztere hat im Bereich Computertechnik sowieso nichts verloren.
Ein paar Grundlagen
Der Kernel ist das das Herz des Betriebssystems, er ist am stärksten an der Hardware orientiert, befindet sich, bildlich gesprochen, ganz innen. Daher auch sein Name, der ins Deutsche gerne mit Betriebssystemkern übersetzt wird. Der Kernel verwaltet die Hardware und stellt viele Funktionen bereit, die Benutzerprogramme verwenden können. So muss nicht jeder Autor einer Textverarbeitung selber programmieren, wie Daten auf die Festplatte gespeichert werden, das übernimmt der Kernel.
Der Linux-Kernel besteht aus zwei Teilen: dem Kernel selbst, einer zirka ein MByte große Datei, und den Modulen. Diese erweitern die Funktionalität (beispielsweise Hardwareunterstützung) des Kernels bei Bedarf, auch wenn er schon läuft. Module und Kernel müssen zusammenpassen, deshalb werden sie mit einer Versionsnummer gekennzeichnet, die aus vier durch Punkte getrennten Elementen besteht (Abbildung 1): Version, Patchleve, Sublevel und Extraversion.
Die Bezeichnung 2.6.6 besagt: Kernelversion zwei, Patchlevel sechs und Sublevel sechs. Eine Extraversion gibt es hier nicht. Letztere kennzeichnen Änderungen zum offiziellen Kernel, beispielsweise hängen an den Kernelvarianten des Programmierers Alan Cox seine Initialen ac. Beim Patchlevels bedeuten gerade Zahlen, dass es sich um stabile (stable) Versionen handelt, ungerade Nummern kennzeichnen Entwicklerkernel. Für ein stabiles System sind solche Kernels nicht geeignet.
Auf der Suche nach den Verzeichnissen
Die Sourcen befinden sich nach dem Entpacken unterhalb des Verzeichnisses /usr/src. Ausgehend von diesem Verzeichnis gibt es mehrere Möglichkeiten: * linux * linux-2.4 (alternativ linux-2.6) * linux-2.x.x (mit symbolischem Link linux auf dieses Verzeichnis). Nach Meinung des Autors ist die beste Variante die dritte, denn sie macht es einfach, mehrere Kernelversionen zu installieren.
Der fertige Linux-Kernel liegt in Form einer Datei im Verzeichnis /boot oder direkt im Stammverzeichnis /. Typische Dateinamen sind vmlinux, vmlinuz, vmlinuz-x.x.xx oder bzImage-x.x.xx. Das Z im Namen steht dafür, dass die Datei komprimiert ist. Ohne eine solche Komprimierung ließen sich aktuelle Kernel auf älteren Systemen gar nicht booten, den häufig gibt es dort eine Größenbeschränkung.
Die zu dem jeweiligen Kernel gehörenden Module finden sich unterhalb des Verzeichnisses /lib/modules. Jede Kernelversion besitzt dort ein eigenes Unterverzeichnis (Abbildung 2). Auf diese Weise können mehrere Linux-Versionen parallel existieren.



