Eine Kleinigkeit zu Beginn: Wenn Sie einen Kern mit exakt identischer Version neu durchbauen wollen, die schon in Ihrem System vorhanden ist, müssen die alten Module zuerst gelöscht werden. Wenn Sie also die Version 2.6.8 rekompilieren, dann löschen Sie zuerst das Verzeichnis /lib/modules/2.6.8.
Das Kompilieren des Kernes und der Module und das Installieren der Module geschieht durch folgende Zeilen:
make clean make all make modules_install install |
Eine kleine Begriffserklärung: Die benutzten Argumente clean, all, etc., werden Targets („Ziele“) genannt. Mit dem Kern 2.6 wurde das Target all eingeführt. Es beinhaltet die Ausführung der von älteren Kernen her bekannten Targets (bei x86-Systemen) bzImage und modules. Diese neue Option erstellt die vorgegebenen Targets unter jeder vorhandenen Architektur während vor der Kernserie 2.6 jede Architektur ihre eigenen verschiedenen Argumente zum Durchbauen des Kernes hatte. Wenn Sie verschiedene Ziele für make angeben (wie oben beschrieben), dann werden Sie in der Reihenfolge ihrer Auflistung ausgeführt. Wenn dabei ein Ziel nicht erledigt werden kann, macht make nicht weiter [35].
Lassen Sie uns die unterschiedlichen Ziele betrachten und sehen, was diese bewirken:
bzImage:dies erstellt den Kern. Beachten Sie, dass dieses Ziel nur für x86 und x86_64 Prozessoren gültig ist. Dieses Ziel erstellt auch die System.map für den Kern. Wir werden später sehen, wozu diese Datei gebraucht wird;
modules: dieser Befehl generiert Module für den Kern, den Sie gerade erstellt haben. Wenn Sie keine Module verwenden, bewirkt dieser Befehl nichts.
all: mit diesem Ziel erstellen Sie den gewünschten Kern (entsprechend der vorhandenen Architektur) sowie die Module;
modules_install: dies installiert die Module. Standardmäßig weden Module im Verzeichnis /lib/modules/<kernel-version> installiert. Dieses Ziel berechnet auch die Modulabhängigkeiten;
install: dieser letzte Befehl kopiert den Kern und die Module schließlich zum richtigen Patz und modifiziert die Konfiguration Ihres Betriebssystemstarters so, dass der neue Kern zur Boot-Zeit verfügbar ist. Benutzen Sie dieses Target nicht, wenn Sie eine manuelle Installation wie in „Manuelle Installation des neuen Kernes“ bevorzugen.
An diesem Punkt ist nun alles kompiliert und korrekt installiert, bereit zum Testen! Starten Sie Ihren Rechner neu und wählen Sie den neuen Kern im Startmenü aus. Beachten Sie, dass der alte Kern erreichbar bleibt, so dass Sie ihn bei Problemen mit dem neuen Kern wiederverwenden können. Sie können sich aber auch für eine manuelle Installation entscheiden und das Startmenü manuell verändern. Wir werden das im nächsten Abschnitt behandeln.
[35] Wenn die Kompilierung an dieser Stelle fehlschlägt, haben Sie einen Bug im Kern gefunden ... Ist dies der Fall, melden Sie es bitte!