# Ein eigener Kernel

Bei jeder Distribution liegt ein Kernel bei, der allen Ansprüchen an Treiber usw. gerecht werden sollte. Durch den Modulsupport können fast alle Treiber dynamisch nachgeladen werden. Aus welchem Grund sollte man also einen eigenen Kernel bauen? Folgende Punkte sprechen für einen neuen Kernel:

- Nur die benötigten Treiber und Grundfunktionen werden eingebunden; das verkleinert (und beschleunigt) den Kernel
- Spezielle Eigenschaften können nur direkt im Kernel konfiguriert werden (z.B. Debug-Unterstützung, Automounter-Funktionalität usw.)
- Der Kernel wird für den entsprechenden Prozessor optimiert
- Neueste Kernel stehen immer als Sourcen, aber erst viel später fertig kompiliert zur Verfügung

Aus diesen Gründen soll hier kurz auf die Konfiguration und das Kompilieren eines eigenen Kernels eingegangen werden. Alle folgenden Befehle können nur als `root` ausgeführt werden.

Um verschiedene Kernelsourcen zu unterscheiden und deren Nebeneinander zu ermöglichen, wird "per Hand" ein Verzeichnis mit der Versionsnummer des neuen Kernels angelegt:

`root@sonne> mkdir /usr/src/linux-2.2.14`

und der Link `linux` auf dieses gerichtet:

`root@sonne> ln -s /usr/src/linux-2.2.14 /usr/src/linux`

Danach wird der Kernel mit

`root@sonne> tar xzf linux-2.2.14.tar.gz -C /usr/src/linux`

entpackt. Im Verzeichnis `/usr/src/linux` (bzw. dort, wohin der Link `linux` zeigt) ist der folgende Befehl auszuführen, der eine graphische Oberfläche zur Konfiguration des Kernels zur Verfügung stellt:

`root@sonne> make menuconfig`

bzw. unter der grafischen Oberfläche X:

`root@sonne> make xconfig`

Jetzt wird der Kernel entsprechend konfiguriert. Zu jedem Menüpunkt ist in dieser Oberfläche eine Hilfe verfügbar. Kompiliert werden der Kernel und alle Module dann mit folgendem Befehl:

`root@sonne> make dep clean zImage modules modules_install`

Der fertige Kernel liegt nach dem Kompilieren als Datei `zImage` im Verzeichnis `/usr/src/linux/arch/i386/boot`. Dieser Kernel ist jetzt noch als Bootkernel einzurichten (z.B. im Bootloader LILO).

Nach der Installation muss das System gebootet werden.