Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ubuntu 10.04 „Lucid Lynx“
Ubuntu 8.04 „Hardy Heron“
Aus der Wikipedia: Ein Betriebssystemkern oder Systemkern (englisch kernel [ˈkɝːnəl]) ist der zentrale Bestandteil eines Betriebssystems. In ihm ist die Prozess- und Datenorganisation festgelegt, auf der alle weiteren Softwarebestandteile des Betriebssystems aufbauen. Er bildet die unterste Softwareschicht des Systems und hat direkten Zugriff auf die Hardware. Die Konstruktion eines Betriebssystemkerns gehört zum Themenbereich der Informatik und des Softwareengineerings. Gängige Anforderungen an einen Systemkern sind Parallelverarbeitung verschiedener Aufgaben (Multitasking), Einhaltung zeitkritischer Grenzen, Offenheit für unterschiedlichste Anwendungen und Erweiterungen.
Den Linux-Kernel gibt es in verschiedenen Varianten. Hauptsächlich sind dies:
Desktopkernel oder Generischer Kernel
Serverkernel (ab Ubuntu 12.04 wird der generische Kernel verwendet)
Kernel für virtuelle Maschinen
Bei der Installation von Ubuntu wird automatisch ein Kernel installiert, denn ohne diesen wäre das ganze System nicht lauffähig. Unter Ubuntu werden Kernel wie normale Software über die Paketverwaltung installiert [1]. Die entsprechenden Paketnamen heißen immer
linux-image-VERSION-ABINUMMER-VARIANTE
bzw. als konkretes Beispiel
linux-image-3.2.0-23-generic
Aber Achtung: Einen Kernel sollte man immer über die Metapakete wie
linux-generic
installieren, denn nur so wird gewährleistet, dass bei einer Systemaktualisierung ("Kernelupdate") immer die passenden Module und Kernel-Header-Dateien installiert werden. Bei der Installation eines Kernels wird dieser auch automatisch in den Bootmanager GRUB bzw. GRUB 2 eingetragen, so dass beim nächsten Start automatisch die neuste Kernel-Version gebootet wird. Weitere Informationen zu Metapaketen und Informationen zu den unterschiedlichen Architekturen findet man im Artikel Metapakete.
Für die LTS-Version Ubuntu 10.04 gibt es aus Ubuntu 11.04 und 11.10 zurückportierte neuere Kernel. Diese Kernel sind dann empfehlenswert, wenn man sehr neue Hardware oder Funktionen nutzen möchte, die vom Standardkernel 2.6.32 noch nicht unterstützt werden. Installiert wird der gewünschte Kernel über die folgenden Metapakete:
linux-headers-generic-lts-backport-oneiric
linux-image-generic-lts-backport-oneiric
Die Installation der jeweiligen Header empfiehlt sich unbedingt, falls von DKMS verwaltete Kernelmodule verwendet werden, was zum Beispiel beim proprietären Treiber für NVIDIA-Grafikkarten und bei Virtualbox der Fall ist.
Seit März 2009 gibt es weiterhin die Möglichkeit, Mainline-Kernel zu installieren. Mehr Informationen finden sich im eigenen Artikel Mainline-Kernel.
Unter Umständen kann zur Reparatur des aktuell laufenden Kernels eine Neuinstallation nötig sein, z.B. mit:
sudo apt-get install --reinstall linux-image-$(uname -r)
Durch automatische Systemaktualisierungen ("updates") werden neue Versionen des Kernels auf dem System installiert. Dies erkennt man, wenn man beim Booten des System in GRUB / GRUB 2 mehrere Einträge zum Booten des Systems sieht. Bis Ubuntu 10.04 werden alle Kernel im Hauptmenü angezeigt, ab Ubuntu 11.04 kann man das Untermenü "Previous Linux versions" auswählen, um die älteren Kernel zu sehen. Das sieht dann beispielsweise so aus:
![]() |
GRUB Hauptmenü |
![]() |
Untermenü für ältere Kernel |
Hier erkennt man, dass neben dem neuesten Kernel 3.2.0-23-generic noch zwei ältere Kernel im System vorhanden sind mit den Versionsnummern 3.2.0-22-generic und 3.0.0-16-generic. Nach einer automatischen Aktualisierung des Kernels wird der alte Kernel nie gelöscht. Falls es zu Problemen mit dem neuen Kernel kommen sollte, ist es dadurch möglich, noch den alten Kernel zu booten.
Betreibt man ein Ubuntu-System über einen längeren Zeitraum, so häufen sich die verschiedenen Kernel-Versionen an. Da ein Kernel zusammen mit Header-Dateien und Modulen einiges an Platz auf der Festplatte belegen kann, sollte man bei Gelegenheit ältere Kernelversionen, die man nicht mehr nutzt, von Hand deinstallieren. Ganz besonders gilt dies, wenn man für /boot eine eigene Partition erstellt hat.
Will man also im obigen Beispiel den älteren Kernel 3.0.0-16-generic (und Headerdateien) deinstallieren, so sucht man in der Paketverwaltung [1] nach den Paketen
linux-image-3.0.0-16-generic
linux-headers-3.0.0-16-generic (Headerdateien)
und deinstalliert sie. Dabei werden auch automatisch alle dazugehörigen Kernel-Module entfernt, ebenso der Eintrag in GRUB, um diesen Kernel zu booten.
Für manche Spezialanwendungen wird eine zuverlässig niedrige Reaktionszeit des Systems benötigt. Unter Umständen kann der normale Kernel eines Ubuntu-Systems diese Anforderung nicht hinreichend erfüllen. Für solche Fälle gibt es von die früher von Ubuntu Studio bereitgestellten, auf Echtzeitverhalten optimierten Kernel, die das gesamte "Realtime-Patchset" von Ingo Molnár enthalten.
Eine mögliche Anwendung sind Audio-Workstations mit extrem niedrigen Latenzen. Weitere Informationen zur Konfiguration eines Tonstudio-PCs findet man im Artikel Tonstudio/Konfiguration. Für reine Desktop-Systeme bringt ein Echtzeitkernel keinen Vorteil! Im Gegenteil: Unter Umständen kann der Durchsatz sinken und der Stromverbrauch steigen.
Die benötigten Pakete sind über die Ubuntu-Paketquellen verfügbar. Zu Installieren [1] sind folgende Pakete:
linux-lowlatency (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-lowlatency
sudo aptitude install linux-lowlatency
oder
linux-lowlatency-pae (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-lowlatency-pae
sudo aptitude install linux-lowlatency-pae
Welche Variante man benötigt, hängt vom Prozessor ab. Faustregel: man orientiert sich an der Ausgabe des Befehls
uname -r
Taucht in der Ausgabe "pae" auf, nimmt man das dazugehörige Paket.
linux-rt (bei Ubuntu 8.04 in main, bei Ubuntu 10.04 in multiverse)
linux-restricted-modules-rt (optional, nur Ubuntu 8.04)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install linux-rt linux-restricted-modules-rt
sudo aptitude install linux-rt linux-restricted-modules-rt
Der Hauptunterschied zum Lowlatency-Kernel, der mit bereits im Vanilla-Kernel integrierten Teilen des Molnár-Patchsets auskommt, besteht in der Möglichkeit, Interrupts unterbrechbar(!) zu machen: sie werden von eigenen, mittels chrt priorisierbaren Threads behandelt. Siehe auch RealTimeKernel .
Hyper-Threading (HT) wird bei der Installation von Ubuntu Linux manchmal nicht automatisch aktiviert. Dies kann man jedoch mit ein paar Handgriffen schnell ändern. Zuerst muss sichergestellt sein, dass ein passender Kernel mit SMP-Unterstützung installiert ist. Unter Ubuntu ist dies der generic-Kernel.
Um zu prüfen, ob die Installation den Prozessor erkannt hat, gibt man im Terminal [2] folgenden Befehl ein:
lscpu
Wird hier unter "Thread(s) per core:" mehr als "1" angezeigt, ist der nächste Schritt nicht nötig.
Um die Funktion manuell zu aktivieren, muss man ht=on
oder acpi=ht
als Boot-Parameter für den Kernel hinzufügen. Wie das geht, ist im Artikel Booten beschrieben. Nachdem man die Änderungen gespeichert hat, ist Hyper-Threading nach einem Neustart des Rechners aktiv.
Nicht jeder Prozessor, bei dem mittels grep ht /proc/cpuinfo
das Flag ht
angezeigt wird, ist auch tatsächlich HT-fähig.
Kernel im Ubuntu-Wiki
Kernel Basis der Ubuntu Versionen
Kernel Rolling Release Kernel-Rückportierung auf LTS Versionen