Kernelkonfiguration

Der Kernel enthält eine Standardkonfiguration, die zum ersten Mal angezeigt wird, wenn menuconfig für eine bestimmte Gruppe von Quellen ausgeführt wird. Die Standardeinstellungen sind im Allgemeinen breit und sinnvoll, was bedeutet, dass die Mehrheit der Benutzer nur eine geringe Anzahl von Änderungen an der Basiskonfiguration vornehmen muss. Wenn Sie sich dafür entscheiden, eine Option zu deaktivieren, die von der Standardkonfiguration des Kerns aus aktiviert wurde, sollten Sie sicherstellen, dass Sie genau verstanden haben, was diese Option bewirkt und welche Konsequenzen sie hat, wenn Sie sie deaktivieren.

Eine Installation der Kernel-Quellen erfolgt über

root #emerge --av sys-kernel/gentoo-sources

Der generelle Prozess ist eigentlich ziemlich einfach: Es wird eine Reihe von Optionen dargestellt, die in einzelne Menüs und Untermenüs unterteilt sind, und die gewünschten Hardware-Unterstützung und Kernel-Funktionen, die für das System relevant sind, werden ausgewählt.

Die meisten Konfigurationsoptionen sind Tristate: Sie können entweder gar nicht (N) gebaut, direkt in den Kernel (Y) eingebaut oder als Modul (M) gebaut werden. Module werden extern auf dem Dateisystem gespeichert, während integrierte Elemente direkt in das Kernel-Image selbst eingebaut werden.

Es gibt einen wichtigen Unterschied zwischen eingebaut und modular: Mit wenigen Ausnahmen versucht der Kernel überhaupt keine externen Module zu laden, wenn das System sie benötigt. Es bleibt dem Benutzer überlassen, wann und zu welchem ​​Zeitpunkt ein Modul geladen werden soll. Während einige andere Teile des Systems über Load-on-Demand-Funktionen verfügen und einige automatische Modulladungs-Dienstprogramme verfügbar sind, wird empfohlen, Hardware-Unterstützung und Kernel-Funktionen direkt in den Kernel zu integrieren. Der Kernel kann dann sicherstellen, dass die Funktionalität und Hardwareunterstützung verfügbar ist, wann immer dies erforderlich ist. Dies geschieht, indem jedes Kernel-Feature auf (Y) gesetzt wird. Damit dieses Setup kohärent ist, ist es auch notwendig, Firmware-Unterstützung in den Kernel zu integrieren. Dies geschieht durch Setzen von FW_LOADER = y und CONFIG_FIRMWARE_IN_KERNEL = y in der .config des Kernels oder durch folgendes:

Die Kernelkonfiguration kann durch das Tool genkernel oder manuell erfolgen. genkernel funktioniert, indem ein Kernel fast identisch mit der Konfiguration des Installations-CD-Kerns konfiguriert wird. Dies bedeutet, dass, wenn genkernel zum Erstellen des Kernels verwendet wird, das System im Allgemeinen die gesamte Hardware beim Booten erkennt, genau wie die Installations-CD. Da genkernel keine manuelle Kernel-Konfiguration benötigt, ist es eine ideale Lösung für Benutzer, die möglicherweise nicht in der Lage sind, ihre eigenen Kernel zu kompilieren.

Die manuelle Erstellung erfolgt über die Befehlsabfolge

localhost # make menuconfig
localhost # make
localhost # make modules_install

Während der Generierung des Kernels:

make modules_install
make modules_install

Die bloße Installation neuer Kernel-Quellen liefert nicht einen neuen Kernel. Dieser muss auf Basis der neuen Quellen  gebaut (make) und installiert  werden.

Ein Kernel-Upgrade ist möglicherweise eine gute Idee, wenn neue Kernelquellen installiert werden.Bei der Aktualisierung des Systems werden manchmal neue Kernelquellen (system/gentoo-sources) installiert, indem der folgende Befehl ausgeführt wird:

root #emerge --ask --update --deep --with-bdeps=y --newuse @world

Bei einem Update des Kernels daran denken, den Link auf die richtige Kernel-Datei zu setzen.

localhost # eselect kernel list
localhost # eselect kernel set x

Es kann das Tool genkernel verwendet werden.
Wie lange eine Kernel-Kompilierung dauert hängt von verschiedenen Faktoren ab. Vor Allem von der Anzahl der verwendeten Module und natürlich von der Rechenleistung des PCs. Eine halbe Stunde sollte man bei einer Erstkompilierung einkalkulieren.

Evtl. muss der Bootmanager aktualisiert / angepasst werden. In Grub geschieht das durch grub-mkconfig

Verwenden des Installations-CD-Kernels

Wenn Sie einen Kernel nicht selbst kompilieren möchten, können Sie den Kernel von der Installations-CD verwenden und auf Ihr System kopieren. Wenn Sie zu dem Punkt kommen, an dem Sie aufgefordert werden, einen Kernel zu kompilieren, wechseln Sie zu einem anderen Terminal (drücken Sie Alt + F2) und melden Sie sich mit dem Root-Passwort an, das Sie zu Beginn der Installation angegeben haben. Kopieren Sie den Kernel und die Module auf Ihr Gentoo-System:
Hinweis
$ {KN} ist der Kernelname, normalerweise so etwas wie ‚gentoo‘ oder ’smp‘.

root #cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.igz /mnt/gentoo/boot
root #mkdir -p /mnt/gentoo/lib/modules
root #cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules

Führen Sie den folgenden Befehl in der Chroot-Umgebung aus, damit alle derzeit ausgeführten Module (von der Installations-CD) während des Startvorgangs Ihres Gentoo-Systems geladen werden:

root #mkdir -p /etc/modules-load.d
root #cut -d ' ' -f 1 /proc/modules >> /etc/modules-load.d/local.conf 

Überprüfen Sie den Inhalt von /etc/modules-load.d/local.conf und aktualisieren Sie ihn entsprechend.