/ HomePage / Computer / Software / Linux-Konfiguration / Neuer Kernel
Neuer Linux Kernel - was tun?
Was muss man tun um unter Gentoo ohne viel Schmerz einen neuen Kernel zu installieren?
1. Übernehmen der Konfiguration aus dem alten Kernel
Einfach die /usr/src/linux/.config
in das neue Kernelverzeichnis kopieren. In den seltenen Fällen werden die CONFIG_XYZ Werte umgeschrieben.
1.1 Neue .config initialisieren
Die alte .config
muss dem neuen Kernel bekannt gemacht werden. Da meist neue Treiber hinzugekommen sind, geht das am einfachsten mittels
im Verzeichnis des neuen Kernels ausführen.
Dabei wird die .config
eingelesen und alle Parameter durchlaufen. Gibt es neue Treiber, wird nur für diese, explizit nachgefragt, was damit geschehen soll. Yes, No, ... Dabei gibt es Defaultvorgaben, so dass meistens ein Return reicht.
So verheizt man sich nicht seine alten Einstellungen und hat am Ende für den neuen Kernel eine neue .config
1.2 Kernel setzen
Dazu gibt es das Programm kernel-config
kernel-config list
zeigt alle aktuell auffindbaren kernel, Vorsicht es listet mehr oder weniger alle linux-*
Directories auf, es wird nicht geprüft ob darin auch wirklich ein Kernel versteckt ist. Ein emerge -C vanilla-sources-2.6.20.2
löscht auch nur die Kernel sourcen die es installiert hat, aber nicht die Objekt Dateien oder die .config
kernel-config set <nummer>
setzt den /usr/src/linux
link auf den gewünschten Kernel.
2. Konfiguration der Module
Es gibt bei Gentoo ein nettes Tool namens module-rebuild. Dieses Tool hilft beim Auslesen der internen rebuild-DB und zeigt alle Pakete auf, die nach jeder Kernelinstallation neu gebuildet werden müssen. Werden sie nicht neu erstellt kann es vorkommen, dass einige Funktionen nicht mehr richtig arbeiten.
Zum Installieren des Tools also folgendes in der Shell tätigen:
2.1 Benutzung von module-rebuild
Listet all die Pakete auf, die in jedem Fall neu gebuildet werden müssen, sobald ein neuer Kernel erstellt wurde:
startet den entsprechenden Build-Prozess.
Haben wir also einen neuen Kernel installiert, einfach o.g. Kommando eingeben und alles sollte gut werden, was leider mitnichten nicht immer der Fall ist. Gerade die aktuelleren Kernel 2.6.18-2.6.20 zicken gerne mal rum (wie es mit noch aktuelleren ist wurde noch nicht getestet).
2.2 Abhängigkeiten von sys-kernel/linux-headers
Soll ein neuer Minor Kernel installiert werden also z.B. statt 2.6.22 ein 2.6.23 so sollten auch alle Pakete neu gebaut werden, die vom Package sys-kernel/linux-headers
abhängen, finden kann man die Pakete ganz einfach mittels:
equery depends linux-headers
2.3 Alte Kernel-Pakete löschen
Falls der Plattenplatz begrenzt ist kann man natürlich alte, nicht mehr benötigte Kernelsourcen löschen.
Wie bereits oben erwöht geht dies mit
wobei man mit
die liste installierter Kernelversionen bekommt.