Kernel/Upgrade
Dieser Artikel beschreibt die Schritte, auf einen neuen Kernel zu aktualisieren.
Contents |
Installation
Ein Kernel Upgrade wird notwendig, wenn bei der Aktualisierung des Systems aktuelle Kernelquellen installiert werden oder wenn man andere Kernelquellen als bisher selber installiert.
Konfiguration
Die Konfiguration entspricht weitestgehend der manuellen Konfiguration , da nur die Kernel-Konfigurationsdatei weiterverwendet wird. Alle Schritte sind hier der Vollständigkeit halber nochmal aufgeführt, für ausführlichere Erklärungen siehe den genannten Artikel.
Symlink setzen
Zuerst setzt man den /usr/src/linux Symlink, so dass er auf die neuen Kernelquellen zeigt. Dies kann mit einem der folgenden drei Methoden erfolgen:
- 1. 1. Die Kernelquellen mit aktivem symlink USE Flag installieren
- Damit zeigt /usr/src/linux auf die neu installierten Kernelquellen. Falls notwendig, kann der Symlink später mit den folgenden beiden Methoden geändert werden:
2. Den Symlink mit eselect setzen:
-
root #eselect kernel list
Available kernel symlink targets:
[1] linux-2.6.39-gentoo-r2 *
[2] linux-2.6.39-gentoo-r3
- Hier werden die verfügbaren Kernelquellen angezeigt. Das Sternchen zeigt die momentan gewählten Kernelquellen an. Um zu anderen Kernelquellen zu wechseln, z.B. zum zweiten Eintrag, schreibe:
-
root #eselect kernel set 2
3. Den Symlink manuell setzen:
-
root #ln -sf /usr/src/linux-2.6.39-gentoo-r3 /usr/src/linux
root #ls -l /usr/src/linux
lrwxrwxrwx 1 root root 11 Aug 29 22:10 /usr/src/linux -> linux-2.6.39-gentoo-r3
Bisherige Kernelkonfiguration kopieren
Man kann die bisherige Konfiguration für den neuen Kernel wiederverwenden. Man kann sie an mehreren Orten finden:
- Im procfs Dateisystem, falls die Kernel Option Kernel .config support im bisherigen Kernel aktiviert worden ist:
-
root #zcat /proc/config.gz > /usr/src/linux/.config
- Im /boot Verzeichnis, falls die Konfiguration dort installiert worden ist:
-
root #cp /boot/config-$(uname -r) /usr/src/linux/.config
- Im Kernelverzeichnis des bisherigen Kernels:
-
root #cp /usr/src/linux-$(uname -r)/.config /usr/src/linux/
make oldconfig
Jetzt aktualisiert man die alte Konfigurationsdatei für den neuen Kernel:
root # cd /usr/src/linux
root # make oldconfigDie folgende Konfiguration entspricht der textbasierten Konfiguration von make config. Bei Änderungen zwischen den Kernelversionen wird man aufgefordert, ob man den Treiber oder die Funktion aktivieren möchte. Ein Beispiel:
root # make oldconfig
Anticipatory I/O scheduler (IOSCHED_AS) [Y/n/m/?] (NEW)Das (NEW) am Ende der Zeile weist diese Option als neu aus. Direkt davor in eckigen Klammern stehen die möglichen Einstellungen: Yes, no, modul oder ?, um die Hilfe anzuzeigen. Die empfohlene Einstellung ist groß geschrieben (hier Y). Die Hilfe beschreibt den Treiber oder die Funktion.
Leider zeigt make oldconfig für die einzelne Option neben der Hilfe nur wenig zusätzliche Informationen, z.B. den Kontext, so dass es manchmal schwierig ist, die richtige Auswahl zu treffen. In diesem Fall ist es das Beste, sich den Namen der Option zu merken und die Auswahl später mit Hilfe der grafischen Kernel Konfigurationsprogramme zu treffen.
Externe Kernelmodule erneut installieren
Externe Kernelmodule wie die proprietären Grafiktreiber nvidia und fglrx müssen für jeden neuen Kernel erneut installiert werden. Falls der neue Kernel bisher noch nicht kompiliert wurde, so muss der Kernel für die Installation von externen Kernelmodule vorbereitet werden:
root # make modules_prepareVerwendung von Portage 2.1 (stabiler und Test-Zweig)
Die Pakete können selber erneut installiert werden oder man installiert dafür das Hilfsprogramm sys-kernel/module-rebuild:
root # emerge module-rebuildNach der Installation lässt man module-rebuild nach externen Kernelmodulen suchen und in eine Liste eintragen:
root # module-rebuild populatemodule-rebuild merkt sich die Liste, so dass dieser Schritt nur beim Hinzufügen weiterer oder Wegfallen bestehenden externer Kernelmodule notwendig ist.
Der folgende Befehl installiert die externen Kernelmodule schließlich erneut:
root # module-rebuild rebuildVerwendung von Pportage 2.2
Man installiert die Pakete erneut, indem man den @module-rebuild Satz nutzt:
root # emerge -1 @module-rebuildKompilieren
Ab hier kann man den Schritten im manuelle Konfiguration Artikel folgen.
Alte Kernel entfernen
Siehe den Kernel Deinstallation Artikel.
Links