Kernel-Log: Schwierigkeiten mit Hardware und "3.0"

Die zweistellige Versionsnummer von Linux 3.0 bereitet noch einige Umstände, an deren Beseitigung fleißig gearbeitet wird. Unsaubere Arbeit der Hardware-Hersteller führt zu Problemen beim Reboot und der Zusammenarbeit mit UEFI-Hardware. Die Pflege der Kernel-Serie 2.6.38 endet bald.

In Pocket speichern vorlesen Druckansicht 14 Kommentare lesen
Lesezeit: 9 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Nur einige Stunden nach der Freigabe der ersten Vorabversion von Linux 3.0 erschienen erste Patches, durch die der Kernel selbst besser mit der neuen zweistelligen Versionsnummer zurechtkommt. Unter den Änderungen ist ein Workaround für das Programm Depmod. In die kurz nach Linux 3.0-rc1 veröffentlichte Version 3.13 der module-init-tools zog parallel ein Patch ein, der die Ursache der Depmod-Probleme beseitigt. Einige Entwickler haben vorgeschlagen, Torvalds solle den Kernel aufgrund dieser und ähnlicher Probleme doch 3.0.0 und nicht 3.0 nennen; das selbst ernannte Alpha-Männchen der Kernel-Entwicklung hat sich dazu aber bislang nicht geäußert.

Joe Pranevich hat unterdessen einen Entwurf eines Artikels mit dem Titel "Wonderful World of Linux 3.0" veröffentlicht, der die wichtigsten in den letzten Jahren vorgenommenen Kernel-Änderungen auflistet. Einen ähnlichen Artikel hatte Pranevich schon zum Erscheinen von Linux 2.6.0 geschrieben. David Lang sorgt sich allerdings, solch ein Dokument könne den Eindruck erwecken, Linux 3.0 sei eine größere Überarbeitung; ähnliche Bedenken äußert auch Willy Tarreau, der die Kernel-Serien 2.4 und 2.6.37 betreut. Schon in der Freigabe-Mail zu 3.0-rc1 hat Torvalds sehr deutlich gesagt, dass 3.0 keine größeren Neuerungen bringt als die Vorgänger der 2.6er-Serie und lediglich eine neue Nummerierung angewendet wird.

Der Kernel-Hacker Matthew Garrett versucht seit einigen Wochen verstärkt, Probleme zu beseitigen, die beim Zusammenspiel von Linux und UEFI (Unified Extensible Firmware Interface) auftreten, das bei neueren Mainboards BIOS-Funktionen ersetzt. Einige seiner teilweilse amüsant beschriebenen Erkenntnisse und Erlebnisse finden sich in seinen Tweets sowie den Blog-Einträgen "EFI implementation bugs" und "Trials and tribulations with EFI". Dort erwähnt er auch einige in Linux 3.0 eingeflossene Korrekturen, welche die Situation verbessern sollten. Bei unseren Versuchen in den c't-Labors gelang es bisher bei so gut wie keinem Desktop-Mainboard, eine gängige Linux-Distribution per UEFI zu booten.

Die Situation ist ähnlich wie vor Jahren bei ACPI: Die UEFI-Spezifikation ist an einigen Stellen nicht eindeutig; in anderen Bereichen halten sich die Hersteller nicht exakt an die Vorgaben oder tricksen, um bestimmte Funktionen zu ermöglichen. Linux stolpert dann gelegentlich an solchen Stellen, denn ob in der Praxis alles funktioniert, testen viele Hardware-Hersteller nur mit aktuellen Windows-Versionen.

ACPI und UEFI sind nicht die einzigen Bereiche, wo Ungenauigkeiten oder Tricksereien der Hardware-Hersteller Problemen nach sich ziehen. Selbst bei so etwas vermeintlich Simplem wie der Anweisung zum Reboot gibt es einige Probleme beim Zusammenspiel zwischen Hardware und Linux. Hintergründe erläutert Garrett in einem Blog-Eintrag; demnach booten einige Systeme von Apple und Lenovo nur neu, wenn die Anweisungen zum Neustart in einer ähnlichen Art eintrudeln, wie Windows sie sendet. Patches, damit der Kernel genau das macht, sind in Linux 3.0 eingeflossen.

Greg Kroah-Hartman hat den Stable-Kernel 2.6.38.7 sowie die Longterm-Kernel 2.6.32.41 und 2.6.33.14 freigegeben. Die beiden erstgenannten halten die übliche Aufforderung zum Wechsel auf die neuen Versionen, denn unter den kleineren in Stable- und Longterm-Kernel einfließen Änderungen sind manchmal auch Korrekturen für Sicherheitslücken.

Die Stable-Kernel 2.6.39.1 und 2.6.38.8 sind gerade in Vorbereitung; sie dürften vermutlich am Wochenende erscheinen, da die Zeit zum Einreichen von Kommentaren am Freitag Nachmittag endet. Die Pflege der 38er-Serie will Kroah-Hartman mit 2.6.38.8 einstellen; er rät zum Umstieg auf den Kernel 2.6.39.

Mehrere Leser – darunter auch einige Kernel-Hacker – haben uns gebeten, doch häufiger wichtige Diskussionen auf den Mailinglisten der Kernel-Entwickler kurz zu erwähnen und zu verlinken, da es aufgrund der vielen Mails schwierig sei, der LKML zu folgen. Wenn sich dort interessante Dinge tun, würden sie es aber gerne erfahren, um die Diskussionsbeiträge selbst zu sichten; eine Zusammenfassung der Diskussion wäre gar nicht nötig. In den nächsten Ausgaben des Kernel-Logs werden wir einige solche Kurz-Verweise auf wichtige Mitteilungen oder Diskussion aufzunehmen, um zu testen, ob diese Form Anklang bei den Lesern findet.

  • Eine längere LKML-Diskussion entstand um die Idee, Fsync-Aufforderungen im Laptop-Mode nicht zu honorieren, damit Festplatte länger im Stromsparmodus verweilen können (u. a. 1, 2). Bekannte Kernel-Hacker erläutern daraufhin, warum das eine schlechte Idee ist; darunter auch Linux-Urgestein Theodore 'tytso' Tso. Möglicherweise führt die Diskussion mittelfristig zu einer Lösung, die alle Beteiligten halbwegs zufrieden stellt.
  • In "AAARGH bisection is hard" tauschen sich einige Entwickler mit Linus Torvalds über Vorteile, Ansätze und Probleme der Fehlersuche mit "Git Bisect" aus.
  • In "[RFC] ARM Subarchitecture group maintainership" diskutieren die Entwickler einige teilweise bereits umgesetzte Ansätze, um die Zusammenarbeit zwischen den ARM-Entwicklern zu verbessern und den ARM-Code im Kernel aufzuräumen.

Kernel

  • Luis R. Rodriguez hat die finale Version von compat-wireless 2.6.39 zum Download freigegeben. Mit ihr lassen sich die WLAN- und Bluetooth-Treiber von Linux 2.6.39 unter Linux-Kerneln seit 2.6.26 einsetzen.
  • Der bei Atheros angestellte Rodriguez hat einige Videos auf YouTube veröffentlicht, die Informationen zur Entwicklung von WLAN-Treibern für Linux liefern.
  • RCU-Kernel-Betreuer Paul E. McKenney weist in seinem Blog auf eine Aktualisierung des laufend fortgeschriebenen Buch zur parallelen Programmierung hin, die unter anderem im Anhang die Entwicklung von RCU (Read-Copy Update) im Kernel erläutert.

Unterstützung für Grafikhardware

  • Jeremy Huddleston hat den X-Server 1.10.2 veröffentlicht, der einige Fehlerkorrekturen bringt.
  • Das kürzlich freigegebene Treiberpaket xf86-video-ati 6.14.2 beseitigt einige Fehlerunter anderem im Tiling-Code für Fusion-GPUs. Mit der neuen Version des Open-Source-Grafiktreibers für Radeon-GPUs lassen sich zudem einige Beschleunigungsfunktionen der Cayman-GPUs verwenden, die auf den Radeon-HD-Grafikkarten der Serie 6900 sitzen. Um diese zu nutzen ist unter Umständen eine aktuelle Entwicklerversion des Linux-Kernels nötig. In den Entwicklerzweig von Mesa 3D sind erste Teile des Codes zur 3D-Unterstützung bei Cayman-GPUs eingezogen; der Shader-Compiler kann allerdings noch nicht mit der Shader-Hardware dieser GPUs umgehen. Alex Deucher hat derweil Patches zur Begutachtung gestellt, durch die das DRM-Subsystem AMDs Llano APUs unterstützt, die in den kommenden Wochen auf den Markt kommen sollen.

Kernel-Umland ("Plumbing layer"), Userland-Treiber, Entwicklertools, ...

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open und in c't. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)