Einführung
Der Linux-Kernel ist die Grundlage der Unix-ähnlichen Betriebssysteme. Der Kernel ist verantwortlich für die Kommunikation zwischen Hardware und Software und die Zuweisung verfügbarer Ressourcen.
Alle Linux-Distributionen basieren auf einem vordefinierten Kernel. Wenn Sie jedoch mehrere Optionen und Treiber deaktivieren oder experimentelle Patches ausprobieren möchten, müssen Sie einen Linux-Kernel erstellen.
In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie einen Linux-Kernel von Grund auf neu erstellen und kompilieren.

Voraussetzungen
- Ein System, auf dem Linux ausgeführt wird
- Zugriff auf Terminal/Befehlszeile
- Ein Benutzerkonto mit sudo/root Privilegien
- 12 GB verfügbarer Speicherplatz auf der Festplatte
Linux-Kernel erstellen
Der Prozess zum Erstellen eines Linux-Kernels umfasst sieben einfache Schritte. Abhängig von der Systemgeschwindigkeit dauert der Vorgang jedoch sehr lange.
Führen Sie die folgenden Schritte aus, um den neuesten Linux-Kernel zum Zeitpunkt der Erstellung dieses Artikels zu erstellen.
Hinweis: Wenn die Version auf der Kernel-Website nicht mit der aus den folgenden Schritten übereinstimmt, verwenden Sie diese Befehle und ersetzen Sie die Kernel-Versionsnummer.
Schritt 1:Quellcode herunterladen
1. Besuchen Sie die offizielle Kernel-Website und laden Sie die neueste Kernel-Version herunter. Die heruntergeladene Datei enthält einen komprimierten Quellcode.

2. Öffnen Sie das Terminal und verwenden Sie den Befehl wget, um den Linux-Kernel-Quellcode herunterzuladen:
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.6.tar.xz
Die Ausgabe zeigt die Meldung „gespeichert“, wenn der Download abgeschlossen ist.

Schritt 2:Extrahieren Sie den Quellcode
Wenn die Datei fertig ist, führen Sie den tar-Befehl aus, um den Quellcode zu extrahieren:
tar xvf linux-5.9.6.tar.xz
Die Ausgabe zeigt den extrahierten Kernel-Quellcode:

Schritt 3:Erforderliche Pakete installieren
Installieren Sie zusätzliche Pakete, bevor Sie einen Kernel erstellen. Führen Sie dazu diesen Befehl aus:
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
Der oben verwendete Befehl installiert die folgenden Pakete:
Paket | Paketbeschreibung |
git | Verfolgt und zeichnet alle Änderungen während der Entwicklung im Quellcode auf. Es ermöglicht auch das Zurücksetzen der Änderungen. |
fakeroot | Paketierungstool, das die gefälschte Root-Umgebung erstellt. |
build-essential | Installiert Entwicklungstools wie C, C++, gcc und g++. |
ncurses-dev | Programmierbibliothek, die API für die textbasierten Terminals bereitstellt. |
xz-utils | Bietet schnelle Dateikomprimierung und -dekomprimierung. |
libssl-dev | Unterstützt SSL und TSL, die Daten verschlüsseln und die Internetverbindung sicher machen. |
bc (Einfacher Rechner) | Eine mathematische Skriptsprache, die die interaktive Ausführung von Anweisungen unterstützt. |
flex (Fast Lexical Analyzer Generator) | Erzeugt lexikalische Analysatoren, die Zeichen in Token umwandeln. |
libelf-dev | Veröffentlicht eine gemeinsam genutzte Bibliothek zum Verwalten von ELF-Dateien (ausführbare Dateien, Core-Dumps und Objektcode) |
bison | GNU-Parser-Generator, der die Grammatikbeschreibung in ein C-Programm umwandelt. |

Schritt 4:Kernel konfigurieren
Der Linux-Kernel-Quellcode wird mit der Standardkonfiguration geliefert. Sie können es jedoch an Ihre Bedürfnisse anpassen. Führen Sie dazu die folgenden Schritte aus:
1. Navigieren Sie zu linux-5.9.6. Verzeichnis mit cd
Befehl:
cd linux-5.9.6
2. Kopieren Sie die vorhandene Konfigurationsdatei mit cp
Befehl:
cp -v /boot/config-$(uname -r) .config

3. Um Änderungen an der Konfigurationsdatei vorzunehmen, führen Sie make
aus Befehl:
make menuconfig
Der Befehl startet mehrere Skripte, die dann das Konfigurationsmenü öffnen:

4. Das Konfigurationsmenü enthält Optionen wie Firmware, Dateisystem, Netzwerk und Speichereinstellungen. Verwenden Sie die Pfeile, um eine Auswahl zu treffen, oder wählen Sie HILFE um mehr über die Optionen zu erfahren. Wenn Sie mit den Änderungen fertig sind, wählen Sie SPEICHERN und verlassen Sie dann das Menü.

Hinweis: Das Ändern der Einstellungen für einige Optionen kann zu einem nicht funktionierenden Kernel führen. Wenn Sie sich nicht sicher sind, was Sie ändern sollen, belassen Sie die Standardeinstellungen.
Schritt 5:Erstellen Sie den Kernel
1. Beginnen Sie mit der Erstellung des Kernels, indem Sie den folgenden Befehl ausführen:
make
Der Vorgang des Bauens und Kompilierens des Linux-Kernels nimmt einige Zeit in Anspruch.
Das Terminal listet alle Linux-Kernel-Komponenten auf:Speicherverwaltung, Hardware-Gerätetreiber, Dateisystemtreiber, Netzwerktreiber und Prozessverwaltung.

2. Installieren Sie die erforderlichen Module mit diesem Befehl:
sudo make modules_install

3. Installieren Sie schließlich den Kernel, indem Sie Folgendes eingeben:
sudo make install
Die Ausgabe zeigt done wenn fertig:

Schritt 6:Bootloader aktualisieren (optional)
Der GRUB-Bootloader ist das erste Programm, das beim Einschalten des Systems ausgeführt wird.
Die make install
Der Befehl führt diesen Vorgang automatisch durch, aber Sie können ihn auch manuell ausführen.
1. Aktualisieren Sie das initramfs auf die installierte Kernel-Version:
sudo update-initramfs -c -k 5.9.6
2. Aktualisieren Sie den GRUB-Bootloader mit diesem Befehl:
sudo update-grub
Das Terminal druckt die Vorgangs- und Bestätigungsmeldung aus:

Schritt 7:Neustart und Überprüfung der Kernel-Version
Wenn Sie die obigen Schritte abgeschlossen haben, starten Sie den Computer neu.
Überprüfen Sie beim Hochfahren des Systems die Kernelversion mit uname
Befehl:
uname -mrs
Das Terminal gibt die aktuelle Linux-Kernel-Version aus.
