Beim Update auf eine neue Kernel-Version verwirren die Begriffe “default”, “xen” und “pae” manche Anwender: Die in den so benannten Paketen enthaltenen Linux-Kernel hat der Distributor mit unterschiedlichen Optionen erstellt.
Wer eine neue Kernel-Version installiert und damit das eigentliche Betriebssystem durch eine aktuellere Version ersetzt, hat in der Regel die Wahl zwischen verschiedenen Kernel-Paketen, die zwar alle dieselbe Versionsnummer tragen, sich aber durch zusätzliche Bezeichnungen oder Buchstabenkombinationen wie default, generic, desktop, xen und pae unterscheiden. Was es damit auf sich hat, verraten wir in diesem Artikel.
Auf einem normalen Desktop und auch auf einem Netbook oder Notebook erreichen Sie in der Regel mit der Kernel-Variante die besten Ergebnisse, die das Installationsprogramm automatisch vorschlägt (wenn Sie eine der normalen Desktop-Linux-Distributionen verwenden, etwa Kubuntu oder OpenSuse). Eine grundsätzliche Frage ist allerdings, ob Sie Linux in der 32- oder 64-Bit-Version installieren sollten.
32 oder 64 Bit
Die meisten Linux-Distributionen werden in zwei Versionen angeboten: als 32- und als 64-Bit-Variante. Die Bit-Zahl gibt an, wie groß Speicheradressen sind, über die das Betriebssystem (und auch die darauf laufenden Programme) auf den Hauptspeicher zugreifen. Es handelt sich dabei um zwei separate Welten:
- Ein Programmpaket einer 64-Bit-Linux-Version können Sie unter einem 32-Bit-Linux-System gar nicht verwenden, und
- ein Programmpaket einer 32-Bit-Linux-Version läuft auf einem 64-Bit-System nur dann, wenn Sie zusätzliche Kompatibilitätspakete einspielen, und das ist sinnlos, wenn es das Programm auch in einer 64-Bit-Version gibt.
Dazu kommt für 64-Bit-Varianten die generelle Anforderung, dass die CPU 64-bittig sein muss, ältere Prozessoren arbeiten intern nur mit 32 Bit.
Die EasyLinux-Redaktion empfiehlt generell den Einsatz der 32-Bit-Versionen, denn damit erreichen Sie in der Regel eine etwas höhere Hardware-Kompatibilität. Aus diesem Grund finden Sie auch auf den Datenträgern im Heft meist nur 32-Bit-Versionen. Die 64-Bit-Varianten sollten generell nur fortgeschrittene Anwender nutzen, die sich zu helfen wissen, wenn sich z. B. ein benötigter Treiber nicht installieren lässt, weil es ihn nur in einer 32-Bit-Version gibt.
Hauptvorteil der 64-Bit-Versionen ist, dass Sie damit erstaunlich große Mengen an RAM nutzen können, wie sie nie in normalen Desktop-PCs oder Notebooks, sondern nur in spezialisierten Server-PCs verbaut werden: Mit 64-Bit-Linux könnten Sie z. B. problemlos ein ganzes Terabyte RAM (das sind 1024 GByte) verwenden – das ist aber deutlich überdimensioniert für die tägliche Arbeit mit ein paar Programmen unter KDE oder Gnome. Um mehr als 4 GByte RAM anzusprechen, gibt es mit “PAE” noch eine Alternative.
PAE-Kernel
Das Kürzel PAE steht für Physical Address Translation und bezeichnet eine Technik, mit der Betriebssysteme mehr als 4 GByte Speicher nutzen können, obwohl sie im 32-Bit-Modus laufen. Wo liegt hier überhaupt das Problem? Ein 32-Bit-Betriebssystem nutzt die CPU im 32-Bit-Modus – entweder, weil es sich um eine entsprechende 32-Bit-CPU handelt oder weil (trotz 64-Bit-CPU) die 32-Bit-Version des Systems installiert wurde. Das bedeutet, dass intern in der CPU nur 32 Bit breite Register zur Verfügung stehen, auch für den Zugriff auf die Speicherzellen. Mit 32 Bit lassen sich 2^32 verschiedene Adressen ansprechen; das entspricht genau 4 GByte.
Linux unterstützt mit PAE ein Feature der Prozessoren, mit dem sich trotz 32-bittigem Betrieb mehr als 4 GByte nutzen lassen. CPUs verfügen nämlich meist über einen breiteren Adressbus, auch wenn es sich nicht um 64-Bit-CPUs handelt. So haben z. B. die meisten 32-Bit-CPUs von Intel einen 36 Bit breiten Adressbus, über den sich theoretisch bis zu 64 GByte RAM nutzen lassen.
Theorie beiseite: Wenn Sie einen Rechner mit mehr als 4 GByte eingebautem Arbeitsspeicher verwenden, müssen Sie entweder ein 64-Bit-Linux oder eine 32-Bit-Version mit aktivierter PAE (also den pae-Kernel) verwenden, um den Speicher jenseits der 4 GByte auch nutzen zu können.
Xen
Der Name Xen hat nichts mit Zen zu tun, auch wenn er ähnlich klingt. Xen ist ein so genannter Hypervisor: ein kleines Mini-Betriebssystem, dessen einziger Zweck es ist, parallel mehrere virtuelle Maschinen zu betreiben, in denen dann z. B. Linux laufen kann. Der Einsatz von Xen erinnert damit an die Nutzung mehrerer virtuellen Maschinen in VirtualBox oder VMware, technisch unterscheidet sich die Xen-Lösung aber von VirtualBox & Co.
Wer eine Xen-Installation wählt, bootet tatsächlich zunächst Xen und nicht den Linux-Kernel; vom laufenden Xen aus wird dann ein erstes Linux-System in einer virtuellen Maschine gestartet, so dass der Rechner benutzbar wird. Aus diesem ersten Linux-System heraus können Anwender mit Hilfe der Xen-Tools dann weitere solche Maschinen starten, die sich via Xen die vorhandenen Ressourcen teilen.
Für den normalen Desktop-Betrieb werden Sie Xen nie brauchen, bei der Installation in einer virtuellen Maschine (VirtualBox, VMware & Co.) kommen sich die beiden Virtualisierungstechniken sogar in die Quere, so dass oft schon das Booten eines Xen-Linux fehlschlägt. Kernel-Pakete, die xen im Namen tragen, sollten Sie also meiden.
Hinweise der Distributoren
Das OpenSuse-Team und die Webseite http://ubuntuusers.de bieten in ihren Dokumentations-Wikis [1,2] ein paar Hinweise zur Bedeutung der Kernel-Pakete.
- Unter OpenSuse läuft im Normalfall der -default-Kernel (Abbildung 1). Auf Desktop-PCs ist der -desktop-Kernel eine Alternative, der auch PAE unterstützt. Das verrät aber nicht die Webseite, sondern erst ein Blick in die Paketbeschreibung (z. B. mit Hilfe des Kommandos
zypper info kernel-desktop). Er hat aber andere Eigenschaften als der -pae-Kernel: Einige Features, die auf Desktop-Rechnern nicht benötigt werden, sind dort deaktiviert. Der Kernel mit Endung -vanilla enthält keine OpenSuse-eigenen Patches, sondern ist der offizielle Kernel von der Linux-Kernel-Webseite [3]. Daneben gibt es mit -vmi noch eine Version für den Einsatz in virtuellen Maschinen (VMware, VirtualBox etc.). - Bei Ubuntu deutet die Ergänzung -generic auf einen Standard-Kernel hin (Abbildung 2); Pakete mit der Endung -virtual sind für die Installation als Gastsystem in einer virtuellen Maschine gedacht. Manchmal taucht auch -server auf: Diese Kernel empfehlen sich für den Einsatz auf Server-Systemen ohne grafische Oberfläche. Ergänzend gibt es die bei Ubuntu als “Mainline-Kernel” bezeichneten Pakete mit unveränderten Original-Kernels – diese sind aber nur erhältlich, wenn Sie ein spezielles PPA[4] einrichten, und Sie werden diese ungepatchten Versionen im Normalfall nicht benötigen.
Die Xen-Version trägt unter beiden Distributionen die gleiche Kennung -xen im Namen.

Abbildung 1: Mehrere Kernel zur Auswahl bei Ubuntu – meist fahren Sie mit “generic”-Kerneln am besten.

Abbildung 2: Auch OpenSuse bietet zahlreiche Kernel-Varianten an; die Standardversion heißt hier “default”.
Fazit: Standard reicht
Nun haben Sie viel über die diversen Kernel-Pakete gelesen, die Ubuntu und OpenSuse anbieten – als Zusammenfassung bleibt aber der kurze Hinweis, dass auf normalen Desktop-Rechnern der Einsatz des jeweiligen Standard-Kernels meist die beste Entscheidung ist, und die Installer richten auch genau diesen ein, wenn Sie nichts an den Vorgaben ändern.
Kernel-Updates, vor allem auf Versionen, welche die jeweiligen Update-Programme nicht vorschlagen, sollten Sie meiden – das gilt speziell dann, wenn Sie Nvidia- oder ATI-Treiber vom Hersteller benutzen, denn diese funktionieren nach einem Kernel-Wechsel oft nicht mehr und verlangen ebenfalls nach einer Aktualisierung. Selbst kompilierte Kernels sind übrigens ein Relikt aus der Vergangenheit; als normaler Anwender werden Sie fast nie einen Grund finden, selbst die Kernel-Quellen zu übersetzen.
Glossar
-
PPA
-
Ein Personal Package Archive (PPA) ist eine spezielle Installationsquelle (ein Paket-Repository) für Ubuntu, häufig mit sehr spezieller Ausrichtung und entsprechend wenigen Paketen.
Infos
[1] OpenSuse-Kernel: http://en.opensuse.org/Kernel
[2] UbuntuUsers: http://wiki.ubuntuusers.de/kernel
[3] Kernel-Webseite: http://www.kernel.org/
[4] Mainline-Kernel-PPA: http://kernel.ubuntu.com/~kernel-ppa/mainline





