Hier sind die Schritte. Dieses Verfahren basiert auf nixCraft ‚s Gewusst wie: Kompilieren Linux 2.6 Kernel --Aber erheblich modernisiert.
Laden Sie den Quellcode des zu erstellenden Kernels herunter und extrahieren Sie ihn.
Sie können erhalten Upstream bei Kernel - Quellcode kernel.org . Hier wird die Version 3.16.1 (der aktuellste stabile Kernel zum Zeitpunkt des Schreibens) verwendet. Daher müssen Sie diese Befehle möglicherweise ändern, wenn Sie eine andere Version verwenden.
Kernel-Quellcode wird derzeit in bereitgestellt. teer . xz- Archive, klicken Sie also auf den Link "tar.xz" mit der gewünschten Version:
Nachdem cd
Sie das Archiv in das Verzeichnis heruntergeladen haben, können Sie es mit tar
folgendem Befehl extrahieren :
tar xf linux-3.16.1.tar.xz
Installieren Sie die erforderlichen Build-Tools und führen Sie die Kernelkonfiguration durch.
Um Ubuntus Toolchain ( gcc
, make
usw.) zu erhalten, installieren Sie das Build-Essential- Metapaket:
sudo apt-get update
sudo apt-get install build-essential
Die make
Ziele xconfig
und bieten zwei einigermaßen benutzerfreundliche Möglichkeiten zur Konfiguration des Kernel- Inhalts menuconfig
.
xconfig
führt ein grafisches Konfigurationsdienstprogramm aus, während menuconfig
es textbasiert ist (dh die Benutzeroberfläche wird vollständig in Ihrem Terminal angezeigt). Jedes erfordert eine zusätzliche Software, die nicht von build-essential bereitgestellt wird .
Um grafisch zu konfigurieren , installieren Sie libqt4-dev und pkg-config und führen Sie Folgendes ausmake xconfig
:
sudo apt-get install libqt4-dev pkg-config
make xconfig
Um im Terminal zu konfigurieren , installierelibncurses5-dev
(danke an Hannu für diese Info) und führe ausmake menuconfig
:
sudo apt-get install libncurses5-dev
make menuconfig
Erstellen Sie den konfigurierten Kernel.
Führen Sie dies zuerst aus, um den Kernel zu kompilieren und Folgendes zu erstellen vmlinuz
:
make
vmlinuz
ist "der Kernel". Insbesondere ist es das Kernel-Image, das von GRUB oder einem anderen von Ihnen verwendeten Bootloader dekomprimiert und in den Speicher geladen wird .
Erstellen Sie dann die ladbaren Kernelmodule :
make modules
Installieren Sie Ihren neu erstellten Kernel.
Vorausgesetzt, diese make
Befehle wurden erfolgreich ausgeführt, ist es Zeit, den neuen Kernel zu installieren. Zuerst installieren Sie die Module:
sudo make modules_install
Dann installiere den Kernel selbst:
sudo make install
Damit werden vmlinuz-3.16.1
(eine Kopie von vmlinuz
), config-3.16.1
(eine Textdatei, in der die Kernel-Konfigurationsparameter gespeichert sind) und System.map-3.16.1
(die Nachschlagetabelle für Kernelsymbole ) eingefügt/boot
. Weitere Informationen finden Sie in diesem comp.os.linux.misc-Beitrag von Hadron und man installkernel
.
Letzte Einrichtung, damit der Kernel gestartet und das System gebootet werden kann:
Dieser Abschnitt basiert teilweise auf Informationen in Kernel / Compile .
Da der Kernel jetzt dort ist, wo er sein muss, muss er:
Generieren Sie Ihre Initramfs mitmkinitramfs
:
cd /boot
sudo mkinitramfs -ko initrd.img-3.16.1 3.16.1
Wenn Sie die Konfiguration des GRUB2-Bootloaders aktualisieren, der seit 9.10 in Ubuntu Standard ist, sollte der neue Kernel automatisch erkannt und eine Option zum Booten hinzugefügt werden .
sudo update-grub
Probieren Sie Ihren Kernel aus.
Jetzt können Sie einen Neustart durchführen, um Ihren neuen Kernel zu testen. Möglicherweise müssen Sie während des Startvorgangs gedrückt halten Shiftoder drücken Esc, um das GRUB-Startmenü anzuzeigen, in dem Sie zwischen den verschiedenen installierten Kerneln auswählen können.
Informationen zum Festlegen Ihres Kernels (oder eines anderen Kernels) als Standard finden Sie unter Wie ändere ich die GRUB-Startreihenfolge ?.