Von oben...
make
Kompiliert und verknüpft das Kernel-Image. Dies ist eine einzelne Datei mit dem Namen vmlinuz
.
make modules
Kompiliert individuelle Dateien für jede Frage, die Sie M
während der Kernelkonfiguration beantwortet haben . Der Objektcode ist mit Ihrem neu erstellten Kernel verknüpft. (Bei beantworteten Fragen Y
sind diese bereits Teil von vmlinuz
und bei beantworteten Fragen werden N
sie übersprungen).
make install
Installiert Ihren Kernel nach /vmlinuz
.
make modules_install
Installiert die Kernelmodule auf /lib/modules
oder /lib/modules/<version>
.
Das Hinzufügen zur Liste der verfügbaren Kernel übernimmt der Bootloader. Es ist für jeden Bootloader anders, aber es grub
ist das häufigste bei x86 und amd64, also beschreibe ich das. Es ist eigentlich ganz einfach. Grub sieht in /
, /boot
und /lib/modules
für jede Sache , die aussieht wie es könnte ein funktionierenden Kernel und fügt es. Und ja, das ist eine vereinfachte Beschreibung.
Dieses zusätzliche "schreckliche Zeug" in der Ubuntu-Dokumentation ist ein zusätzliches Zeug, um ein deb
Paket zu erstellen . Wenn Sie es für mehr als sich selbst tun, ist es weitaus besser, es zu verpacken. Sie werden in der Zeit wechseln.
Das Erstellen des Kernels und der Module wird getrennt gehalten, da die Benutzer (dh Kernelentwickler) häufig nur Änderungen an einem Modul vornehmen. Sie können ihre Änderungen anwenden, nur die Module neu erstellen und installieren. Das spart viel Zeit, wenn es 20 Mal am Tag gemacht werden muss. Es wird nie aktualisiert, um einen einzelnen make everything
Befehl zu haben . Führen Sie stattdessen so aus, make && make modules && make install && make modules_install
wie es die Dokumentation vorschreibt . Der Build-Prozess bevorzugt Kernel-Entwickler, nicht Sie. Und so sollte es auch sein.
In Wirklichkeit gibt es fast keinen Grund für irgendjemanden außer Kernel-Entwicklern oder Distributions-Packagern, einen Kernel zu kompilieren. In fast jedem Fall wurde die von Ihnen gewünschte Kernelfunktion bereits für Sie erstellt und ist in einem der vorgefertigten Kernel verfügbar. Es gibt Ausnahmen, aber diese sind heutzutage äußerst selten.
Nicht, dass ich Sie davon abhalten würde, Ihren eigenen Kernel zu erstellen, ich ermutige Sie sogar, dies zu tun. Ich denke, es ist von unschätzbarem Wert, Ihren Kernel von Grund auf neu zu erstellen, um zu lernen, wie das alles dort unten funktioniert. Im zweiten Teil, weil vielleicht einen Tag wird die Ausnahme sein , die er braucht. Aber es bringt Ihnen auch viel über den Kernel- und Boot-Prozess im Allgemeinen bei. Du wirst ein besserer Mensch sein, wenn du es getan hast.