Kernel-Howto
Inhaltsverzeichnis |
Einleitung
Für viele Zwecke ist es nötig, einen eigenen Kernel zu erstellen. Dafür kann es mehrere Gründe geben:
- Treibermodule die in einer Standarddistri nicht enthalten sind
- manuelles Installieren von LIRC
- wenn im Kernel Module einkompiliert sind, aber andere Module verwendet werden sollen
- Raid-Systeme
- ungewöhnliche Dateisysteme
- sonstiges
Das Erstellen eines Kernels ist nicht so schwer wie es immer dargestellt wird, setzt aber beim Konfigurieren Mitdenken voraus.
benötigte Dinge
- Compiler (bevorzugt gcc-3.x.x)
- make
- bzip2 oder gzip (auf fast jedem System vorhanden)
- tar (auf fast jedem System vorhanden)
- die Kernel-Quellen (linux-2.{4,6}.x.{tar.bz2, tar.gz, tgz})
linVDR und c't-VDR haben standardmässig keinen Compiler dabei! Der muss vorher nachinstalliert werden oder eine andere Distri verwendet werden!
Die Schritte im Einzelnen
Download der Kernelquellen
Es gibt zwei prinzipielle Möglichkeiten:
- Installation eines Kernels von www.kernel.org
- Installation eines distrispezifischen Kernels, der dann zumeist Anpassungen an das jeweilige System enthält
Hinweis: normalerweise spricht nichts dagegen, einen aktuellen Kernel von kernel.org zu herunterzuladen. Der Wechsel von einer Kernelgeneration auf die nachfolgende Generation (2.4.x => 2.6.x) bringt jedoch zumeist weitreichendere Änderungen an zusätzlicher Software mit sich. Beim Wechsel von 2.4.x auf 2.6.x sind die modutils *vorher* gegen die modinit-tools auszutauschen.
Kopieren des Kernels nach /usr/src
cp linux-2.{4,6}.x /usr/src
Wechsel nach /usr/src und Entpacken der Quellen, Anlegen eines symbolischen Links
cd /usr/src a) linux-2.x.x.tar.bz2: tar xvj linux-2.x.x.tar.bz2 b) linux-2.x.x.tar.gz: tar xvz linux-2.x.x.tar.gz c) linux-2.x.x.tar.gz: tar xvz linux-2.x.x.tgz ln -s linux-2.x.x linux cd linux
Konfigurieren des Kernels
Das Konfigurieren eines Kernels ist der schwierigste Teil der Installation. Hier kommt es darauf an, Hardware, Dateisysteme und grundlegende Software-Einstellungen zu machen! Die hier nicht bekannt ist welche Hardware du verwendest und welche Distri können hier nur allgemeine Ratschläge gegeben werden.
make menuconfig
Nach diesem Befehl öffnet sich die Wunderwelt der Kernelkonfiguration. Nicht gleich verzweifeln, hier kommen einige Tipps.
Falls die alte Konfigurationsdatei des Kernels noch vorhanden ist, lohnt es sich, diese *vor* dem make menuconfig nach /usr/src/linux zu kopieren. Die (versteckte) Datei nennt sich .config, übliche Fundorte sind das Verzeichnis der alten Kernelquellen, das Verzeichnis /boot, /lib/modules/<ALTE_KERNELVERSION>
- Code maturity level options
Die Nachfrage, ob ihr Development-Treiber in der Konfiguation angeboten bekommen wollt. Meist NEIN.
- Loadable module support
Klar wollt ihr, der DVB-Treiber sollte ja als Modul laufen! Kernel module loader ebenso.