Zum Hauptinhalt Zur Navigation

Linux-Kernel 2.6.26 mit eigenem Debugger

Virtualisierung mit KVM für weitere Plattformen. Der Linux-Kernel 2.6.26 enthält den vieldiskutierten Kernel-Debugger KGDB, dessen Aufnahme Linus Torvalds lange abgelehnt hatte. Etliche Verbesserungen gibt es auch bei den Treibern. Die WLAN-Treiber unterstützen erstmals den 802.11s-Entwurf für drahtlose Mesh-Netzwerke.
/ Julius Stiebert
64 Kommentare News folgen (öffnet im neuen Fenster)

Die Diskussion über einen Debugger im Kernel läuft schon seit Jahren. Linus Torvalds war stets dagegen(öffnet im neuen Fenster) . Doch nun wurde eine von Ingo Molnar überarbeitete Fassung des KGDB(öffnet im neuen Fenster) integriert. Der KGDB benötigt zwei miteinander verbundene Rechner. Auf dem ersten läuft der Kernel, in dem nach Fehlern gesucht werden soll. Auf dem zweiten arbeitet der Debugger GDB(öffnet im neuen Fenster) .

Für Testzwecke ist ein Speichertest im Kernel enthalten. Er ähnelt dem bekannten Memtest86(öffnet im neuen Fenster) , ist aber einfacher aufgebaut. Er lässt sich über das Startparameter "memtest" aktivieren.

Größere Änderungen gab es wieder einmal beim Wireless-Stack. So werden zusätzliche 802.11n -Funktionen integriert, um den neuen, schnellen WLAN-Standard zu unterstützen. Auch der kommende IEEE-Standard 802.11s für sogenannte Mesh-Netzwerke wird nun unterstützt. Er soll unter anderem im Hinblick auf den Energieverbrauch den derzeitigen WLAN-Standards überlegen sein. An der freien Implementierung arbeitet das Open80211s-Projekt(öffnet im neuen Fenster) . Die Konfigurationsschnittstelle des WLAN-Stacks Mac80211 wurde ebenfalls erweitert.

Während die Netzwerktreiber Iwlwifi für Intel- und Ath5k für Atheros-Chips erweitert wurden, flogen auch Treiber aus dem Kernel. So ist Sk98lin für Syskonnect-Karten nicht mehr enthalten, dasselbe gilt für Bcm43xx für Broadcom-Chips. Für Broadcom-Karten steht bereits seit einiger Zeit der Treiber B43 bereit, der nun auch Quality-of-Service-Funktionen enthält. Auch für die Syskonnect-Hardware sind schon neue Treiber im Kernel.

Auf x86-Maschinen wird nun die Page Attribution Table(öffnet im neuen Fenster) (PAT) unterstützt. Der Prozessorcache soll sich so genauer kontrollieren lassen.

Die Kernel-based Virtual Machine (KVM) enthält jetzt die schon länger als Patch verfügbare Unterstützung für Paravirtualisierung. Dabei ist das Gastsystem modifiziert und weiß, dass es virtualisiert läuft. Das hat eine höhere Leistung zur Folge. Während diese Funktion weiter nur auf der x86-Architektur verfügbar ist, wurde KVM auf IA64, PPC und S390 portiert. Auch auf diesen Systemen steht also eine direkt im Kernel verfügbare Virtualisierungslösung zur Verfügung.

Neu ist auch die Möglichkeit, die sogenannten Bind-Mounts nur mit Leserechten einzubinden. Bei einem Bind-Mount sind dieselben Inhalte an zwei verschiedenen Stellen im Dateisystem verfügbar. Auf x86-Computern sollte der Kernel ferner 4 KByte große Stacks(öffnet im neuen Fenster) pro Prozess verwenden. Das verringert den Overhead und ist vorteilhaft für die Leistung des Linux-Systems. Die Diskussion über diese Funktion(öffnet im neuen Fenster) läuft bereits seit Jahren – einige Distributoren übersetzen ihre Kernel schon länger mit aktivierten 4-KByte-Stacks. Probleme gibt es dabei wohl noch mit dem NDISwrapper, mit dem sich Windows-Netzwerktreiber unter Linux laden lassen. Einige dieser Treiber setzen die üblichen 8-KByte-Stacks oder sogar 16-KByte-Stacks voraus. Kurz vor Freigabe der neuen Kernel-Version wurde diese Änderung dann aber doch wieder rückgängig gemacht(öffnet im neuen Fenster) .

Implementiert wurden auch Per-Process-Securebits(öffnet im neuen Fenster) . Normalerweise führt Linux Programme mit der User-ID des aktiven Benutzers und damit mit seinen Rechten aus. Über das Set-UID-Bit lässt sich ein Programm jedoch mit den Rechten des Dateibesitzers – also beispielsweise Root – starten. Das ist einfach, birgt aber das Risiko, dass sich diese durch Set-UID erreichten Rechte ausweiten lassen. Daher wurden schon unter Unix die sogenannten Posix Capabilities entwickelt, die Schritt für Schritt in Linux gelangen. Mit dem Per-Process-Securebits-Patch wird es möglich, die mit der UID 0 – also Root – verbundenen Rechte auf einen Prozess zu beschränken. Aber nicht nur das: Es werden auch nur die Rechte gewährt, die nötig sind. Andere mit Set-UID vergebene Rechte werden weggelassen. Das verringert das Risiko, dass sich ein unpriviligierter Nutzer auf diesem Wege die Rechte des Systemverwalters verschafft.

Um das Active State Power Management(öffnet im neuen Fenster) von PCI-Express-Karten zu nutzen, wurde ein entsprechender Treiber aufgenommen. Einige neue Treiber gibt es für Soundkarten sowie vom Video-4-Linux-Projekt. Der Radeon-Treiber kann jetzt mit r500-Chips umgehen und die Intel-4-Series-Chipsätze werden unterstützt. Viele zusätzliche USB-Webcams(öffnet im neuen Fenster) lassen sich ebenfalls mit dem neuen Kernel nutzen. Dafür wurde ein neuer Treiber für USB-Videogeräte integriert, der bereits eine Weile außerhalb des Kernels existierte. Da der Kernel nun UDF 2.50(öffnet im neuen Fenster) lesen kann, sollte er mit Blu-ray-Medien umgehen können. Auch die Architektur der One-Laptop-Per-Child-Geräte wird unterstützt(öffnet im neuen Fenster) .

Der Linux-Kernel 2.6.26 steht wie üblich als Archiv und Patch unter kernel.org(öffnet im neuen Fenster) zum Download bereit. Die Linux-Distributoren werden ihn abhängig von ihrer Aktualisierungspolitik auch als Paket anbieten.


Relevante Themen