Cum se construiește un kernel personalizat pe Ubuntu

So erstellen Sie einen benutzerdefinierten Kernel unter Ubuntu

Der Gedanke, eigene Kernel zu kompilieren, macht neuen Linux-Benutzern Angst. Es klingt furchterregend, den wichtigsten Teil Ihres Systems von Grund auf neu aufzubauen. Die Wahrheit ist jedoch, dass das Erstellen des Linux-Kernels wirklich einfach ist.

Erstellen von Linux-Kerneln nicht erfordern Programmierung. Einige der besten Programmierer der Welt haben bereits den gesamten Code geschrieben. Sie müssen nur die gewünschten Funktionen auswählen und alles zusammenstellen.

Abhängigkeiten abrufen

Bevor Sie einen Kernel berühren, benötigen Sie die richtigen Tools, um ihn zu erstellen. Verwenden Sie Apt, um sie aus den Ubuntu-Repositories herunterzuladen.

Abrufen der Kernelquelle

Jetzt können Sie die Quelle abrufen, die Sie erstellen möchten. Alle Kernel sind in den offiziellen Linux-Repositorys verfügbar. Sie können sich die neuesten stabilen Versionen in ihren ansehen Git-Repository. Zum Zeitpunkt dieses Artikels ist der neueste Stand 4.11. Dieser Zweig ist als linux-4.11.y aufgeführt und wird mit dem folgenden Befehl geklont.

Es wird eine Weile dauern, bis der Kernel geklont ist. Seien Sie also geduldig.

Einrichten für Ihren Build

Beginnen Sie Ihre Einrichtung, indem Sie die Verzeichnisse in das neu geklonte Verzeichnis ändern. Kopieren Sie dann die Konfiguration Ihres vorhandenen Kernels hinein.

Jetzt müssen Sie die alte Konfiguration an den neuen Kernel anpassen.

Normalerweise werden Sie im Skript gefragt, was mit jeder neuen Funktion zu tun ist. Auf diese Weise werden die Standardeinstellungen akzeptiert. Wenn Sie gefragt werden möchten, verwenden Sie einfach make oldconfig.

Kernel konfigurieren

Sie können Ihre Konfiguration so lassen, wie sie ist, und es würde Ihnen wahrscheinlich gut gehen. Es macht keinen Sinn, einen benutzerdefinierten Kernel zu erstellen, wenn Sie ihn nicht anpassen möchten.

Öffnen Sie, um Ihre Konfiguration anzupassen make menuconfig.

Linux-Kernel-Konfigurationsmenü

Ein blaues Menü mit einer Liste von Kategorien wird geöffnet. Diese Kategorien enthalten Funktionen, die Sie auswählen können, um sie in Ihren Kernel zu integrieren.

Konfiguration des Linux-Kernel-Dateisystems

Wenn Sie beispielsweise die Unterstützung für das BTRFS-Dateisystem direkt in den Kernel integrieren und andere Funktionen aktivieren möchten, gehen Sie zu “Dateisysteme ->”. Scrollen Sie dann nach unten zu “Btrfs-Dateisystemunterstützung”. Wählen Sie die gewünschte Option und drücken Sie die Leertaste. Die Leertaste wechselt zwischen „M“, „*“ und leer. “M” bedeutet, dass die Funktion als Modul erstellt wird, das bei Bedarf beim Start von Ubuntu geladen wird. “*” Bedeutet, dass die Funktion in den Kernel integriert und immer geladen wird. Das Skript enthält keine leeren Optionen im Endprodukt.

Wenn Sie mit dem Einrichten fertig sind, bereinigen Sie das Verzeichnis.

Jetzt ist Ihr Kernel bereit zum Erstellen.

Erstellen von Kernel-Paketen

Es gibt eine Methode, die von Ubuntu verwendet wird, um ihre Kernel zu erstellen, aber Sie müssen Skripte verwenden, die für ältere Versionen geschrieben wurden. Manchmal ist das in Ordnung; andere bricht es schrecklich. Daher ist es normalerweise besser, nur die allgemeinere Linux-Methode mit GNU make zu verwenden.

Diese Zeile kompiliert den Kernel lediglich in .deb-Pakete unter Verwendung der Anzahl der CPU-Kerne auf Ihrem System plus eins. Außerdem wird am Ende der Paketversion “Benutzerdefiniert” hinzugefügt, um Ihren benutzerdefinierten Kernel von anderen zu unterscheiden.

Hinweis: Das Kompilieren eines Kernels kann Stunden dauern. Sei geduldig.

Kernel installieren

Sie finden Ihre neuen Kernel-Pakete in einem Verzeichnis. Sie sind leicht an ihrer Versionsnummer zu erkennen. Sie können verwenden dpkg um sie zu installieren.

Starten Sie Ihren Computer nach Abschluss der Installation neu. Ubuntu bootet automatisch in Ihren neuen Kernel. Sie können dies durch Ausführen überprüfen uname -r in einem Terminal, wenn es startet. Wenn Sie Ihre Version sehen, herzlichen Glückwunsch! Sie führen Ihren eigenen benutzerdefinierten Kernel aus.