Kernel-Howto

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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})
Hinweis
Hinweis

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

Hinweis
Hinweis

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.

Hinweis
Hinweis

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.