Hauptmenü öffnen

Diese Anleitung zeigt Ihnen, wie Sie einen Linux Kernel komplett aus den Vanilla-Sourcen neu bauen oder nach einem bestehenden Kernel nachbauen.

Hinweise

Diese Anleitung geht davon aus, dass Sie über ein lauffähiges System (alternativ im Rettung-System) verfügen.

Anleitung

Hinweise zur Konfiguration

Für das Bauen eines Linux Kernels aus den Vanilla-Sourcen ist eine Konfiguration in Form einer .config-Datei nötig. In dieser Datei wird definiert, wie der spätere Kernel aussieht, insbesondere für welche Hardware er Unterstützung mitbringt.

Die im tar-Ball der Vanilla-Sourcen mitgelieferte .config-Datei ist in der Regel nicht für den produktiven Server-Einsatz geeignet.

Vorbereitungen

Herunterladen und entpacken der Vanilla-Sourcen

Laden Sie die Quellen des gewünschten Linux Kernels von http://www.kernel.org/ z.B. mit

$ wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-[VERSION].tar.bz2

herunter, vorzugsweise nach /usr/src. Sofern nichts dagegen spricht, empfehlen wir Ihnen grundsätzlich, immer die Version zu verwenden, die unter Latest Stable Kernel angegeben wird. Ältere Zweige wie 2.4, 2.6, 3.0 etc. sollten Sie nur verwenden, wenn dies absolut nötig ist.

Entpacken Sie die Quellen via

$ tar xjvf linux-[VERSION].tar.bz2

Legen Sie anschließend einen Symlink an (und entfernen vorher den existierenden Symlink) und wechseln Sie in das Verzeichnis:

$ rm linux
$ ln -s linux-[VERSION] linux
$ cd linux

Konfiguration

wenn Sie eine ältere/bestehende/lauffähige/funktionierende .config haben

Hinweis: Die meisten Linux-Distributionen sowie unsere Installationen auf Root-Servern legen die Kernel-Konfiguration im /boot-Verzeichnis als config-[VERSION] ab.

Wenn Sie eine ältere/bestehende/lauffähige/funktionierende .config-Datei haben, kopieren Sie diese in das soeben entpackte Verzeichnis, z.B. via

$ cp /boot/config-[VERSION_ALT] .config

Rufen Sie anschließend im Verzeichnis

$ make oldconfig

auf.

Für neu hinzugekommene Funktionen etc. müssen Sie nun beantworten, ob diese in Ihren Kernel aufgenommen werden sollen oder nicht. Orientieren Sie sich bitte dazu an den Hinweisen im übernächsten Abschnitt (zur Konfiguration ohne vorliegende Konfiguration).

Anschließend können Sie über

$ make config

weitere Konfigurationen vornehmen.

wenn Sie die Konfiguration eines bestehenden Kernels übernehmen möchten

Wenn Sie keine .config-Datei dafür aber einen laufenden Kernel haben (bitte verwenden Sie nicht den aus dem Rettungs-System), können Sie dessen Konfiguration über

$ zcat /proc/config.gz > .config

auslesen.

Rufen Sie anschließend im Verzeichnis

$ make oldconfig

auf.

Für neu hinzugekommene Funktionen etc. müssen Sie nun beantworten, ob diese in Ihren Kernel aufgenommen werden sollen oder nicht. Orientieren Sie sich bitte dazu an den Hinweisen im übernächsten Abschnitt (zur Konfiguration ohne vorliegende Konfiguration).

Anschließend können Sie über

$ make config

weitere Konfigurationen vornehmen.

ohne vorliegende .config

Wenn Sie einen Linux Kernel ohne vorliegende .config-Datei neu bauen möchten, rufen Sie einfach

Anschließend können Sie über

$ make config

auf. Sie müssen nun den gesamten Kernel vollständig neu konfigurieren.

Wichtig: Insbesondere ist es wichtig, dass die Konfiguration auf die Hardware und dabei besonders auf die Netzwerk-Konfiguration abgestimmt ist. Sie sollten im Zweifelsfall alle gängigen Netzwerkkarten-Treiber (vorzugsweise nicht als Modul) in den Kernel einbinden.