Server:Linux Kernel neu bauen/nachbauen/compilieren (aus Vanilla-Sourcen): Unterschied zwischen den Versionen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 89: | Zeile 89: | ||
auf. Sie müssen nun den gesamten Kernel vollständig neu konfigurieren. | auf. Sie müssen nun den gesamten Kernel vollständig neu konfigurieren. | ||
− | 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. | + | '''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. |
[[Kategorie:Root-Server]][[Kategorie:Linux (Server)]][[Kategorie:Linux-Grundkenntnisse (Server)]] | [[Kategorie:Root-Server]][[Kategorie:Linux (Server)]][[Kategorie:Linux-Grundkenntnisse (Server)]] |
Version vom 1. April 2012, 14:20 Uhr
Diese Anleitung zeigt Ihnen, wie Sie einen Linux Kernel komplett aus den Vanilla-Sourcen neu bauen oder nach einem bestehenden Kernel nachbauen.
Inhaltsverzeichnis
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.