Linux 2.6.24 mit neuen WLAN-Treibern und vereinheitlichter x86-Architektur

Die nächste Linux-Version vereinigt die Quellcode-Verzeichnisse für die 32- und 64-Bit-x86-Unterstützung und bringt sieben neue WLAN-Treiber mit - darunter zwei für die WLAN-Module von neueren Centrino-Notebooks.

In Pocket speichern vorlesen Druckansicht 175 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Thorsten Leemhuis

Zwei Tage nach der Freigabe des Linux Kernels 2.6.23 hat Linus Torvalds nun den ersten Satz Änderungen für Version 2.6.24 in seinen Entwicklerzweig integriert. Darunter waren wie erwartet zahlreiche neue WLAN-Treiber sowie die Zusammenführung der Architektur-Verzeichnisse für die 32- und 64-Bit-x86-Architekturen. Letztere verschiebt zahlreiche Dateien im Quellcodebau – zusammen mit den anderen Änderungen der vergangenen Stunden summieren sich die 2246 Commits so bereits zu einem stattlichen Patch mit einer Größe von 24 MByte (unkomprimiert) – 465.708 Zeilen sind neu, 261.554 entfernten die Kernel-Hacker; in andere Dateien verschobenen Quellcode-Zeilen zählen dabei aber jeweils als neu und entfernt.

Insgesamt wurden sieben neue WLAN-Treiber in den Entwicklerbaum aufgenommen, aus dem in zirka zehn Wochen 2.6.24 hervorgehen sollte:

  • Iwlwifi mit den Treibern iwl3945 und iwl4965 für die beiden derzeit aktuellen und vornehmlich in Centrino-Notebooks zu findenden WLAN-Module von Intel
  • rt2x00 für verschiedene WLAN-Chips von Ralink
  • p54 für 802.11G-Prism-Chips von Intersil
  • adm8211 für ADMtek ADM8211-Chips
  • b43 für 802.11G-Chips von Broadcom
  • b43legacy für ältere Broadcom-WLAN-Hardware

Einige der WLAN-Chips von Intersil und Broadcom unterstützt der Kernel mit anderen Treibern bereits jetzt schon; die neuen Treiber setzen jedoch nun auf den mit Linux 2.6.22 eingeführten WLAN-Stack Mac80211. Der erfuhr parallel zur Aufnahme der Treiber einen Fülle von Verbesserungen und Korrekturen.

Zukünftige Linux-Kernel sollten durch diese Treiber einen Großteil heute gängiger WLAN-Hardware von Haus aus unterstützen – so wie es sich die Entwickler im Mai vorigen Jahres erhofft hatten, als sie den Schwenk auf den neuen WLAN-Stack beschlossen, nachdem sich die Programmierer lange nicht auf ein einheitliches Basis-Framework für WLAN-Treiber einigen konnten. Um das ganze rund zu machen, fehlt im Kernel jedoch noch der designierte Madwifi-Nachfolger ath5k – es dürfte aber noch etwas Zeit vergehen, bis der den Sprung in den offiziellen Kernel schafft. Einige Distributionen wollen ath5k aber wohl bald ausliefern – ähnlich, wie Fedora 7 und Ubuntu 7.04 bereits sein Monaten einige der jetzt in den offiziellen Linux-Kernel aufgenommenen Treiber enthielten.

Die Zusammenlegung des Architektur-Codes der beiden x86-Architektur-Ansätze soll vor allem die Wartung vereinfachen – bisher hatten die unter den Kürzeln x86, x86-32, i386 oder IA32 bekannte 32-Bit-x86-Architektur und deren als x86-64, x86_64, AMD64T, EM64T oder IA32e bekannte 64-Bit-Erweiterung jeweils eigene Verzeichnisse, obwohl nicht unerhebliche Teile der Codebasis ähnlich oder identisch sind. Die Teilung führte in der Vergangenheit gelegentlich dazu, dass eine Korrektur etwa nur in den x86-32-Code unter arch/i386/ Einzug hielt, aber für arch/x86_64/ vergessen wurde – oder umgekehrt.

Mit der Verschmelzung befindet sich der Code für die x86-Architekturen nun gemeinsam im Verzeichnis arch/x86/. Dateien mit nur für x86-32-Systeme interessanten Code kennzeichnet ein _32-Anhängsel, während die Dateinamen mit 64-Bit-spezifischen Code ein _64 enthalten. Durch Include- und Makefile-Tricks soll für alte x86-32-Systeme benötigter Code nicht in x86-64-Kerneln compiliert werden. Die Zusammenlegung geschah aber weitgehend mit Hilfe von Skripten, die viele der benötigten Schritte zur Vereinigung automatisch ausführten. In den kommenden Wochen und Monaten wollen die Entwickler dann die Feinarbeit erledigen und noch weitere Teile zusammenlegen.

Die Idee zur Vereinigung wurde im Juli das erste Mal diskutiert – zahlreiche Entwickler waren von der Idee gleich sehr angetan. Eine ähnliche Zusammenlegung hatte es vor Jahren schon zwischen der s390- und PowerPC-Architektur gegeben, was sich laut den Entwicklern bewährt hätte. Einige Entwickler sprachen sich aber auch dagegen aus – darunter auch der Verwalter, der die Pflege der x86-32- und x86-64-Architekturen koordiniert. Der musste die Verschmelzung aber schließlich akzeptieren, nachdem Torvalds und einige andere führende Entwickler diese im Rahmen einer Entwickler-Konferenz beschlossen.

Neben den neuen WLAN-Treibern und der Umstrukturierung bei der x86-Architektur gab es noch den ersten Schwung weiter Neuerungen in den zu 2.6.24 führenden Entwicklerzweig. So kam der Treiber e1000e für die Netzwerkfunktion in Intels aktueller Desktop-Southbridge-Familie ICH9 hinzu. Das /proc/net-Verzeichnis ist nun Namespace-spezifisch, was etwa für Container-Virtualisierung von Interesse ist – für diesen Einsatzbereich nahmen die Entwickler ferner den von einem OpenVZ-Programmierer eingebrachten Virtual-Ethernet-Treiber veth auf.

Zahlreihe neue und überarbeitete Treiber gab es auch im Video-4-Linux-Bereich – etwa den Ivtv-Framebuffertreiber ivtvfb oder CX23885/CX23887. Über den Treiber em28xx und eine verbesserte Treiber-Variante gibt es allerdings Diskrepanzen, da die neue Variante nicht den Ansprüchen zahlreicher wichtiger Linux-Entwickler genügt. Daher wird sie wohl auch nicht in den offiziellen Kernel aufgenommen, obwohl die neue Treiber-Variante mehr Hardware unterstützt als die ältere. (thl)