Kernel/Upgrade

From Gentoo Wiki
Kernel
Revision as of 13:09, 14 December 2011 by FuzzyBot (Talk)

Jump to: navigation, search
Other languages:Deutsch 100% • ‎English 100%

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 oldconfig

Die 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_prepare

Verwendung 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-rebuild

Nach der Installation lässt man module-rebuild nach externen Kernelmodulen suchen und in eine Liste eintragen:

root # module-rebuild populate

module-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 rebuild

Verwendung von Pportage 2.2

Man installiert die Pakete erneut, indem man den @module-rebuild Satz nutzt:

root # emerge -1 @module-rebuild

Kompilieren

Ab hier kann man den Schritten im manuelle Konfiguration Artikel folgen.

Alte Kernel entfernen

Siehe den Kernel Deinstallation Artikel.

Links

Personal tools
Namespaces

Variants
Actions
Gentoo Websites logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Navigation
Toolbox
Categories