Android und Linux wachsen wieder zusammen

Über Jahre hinweg war Android nur so etwas wie eine mobile Variante von Linux. Jetzt, mit Linux 3.3, vereinigen sich die beiden Betriebssysteme wieder.

Android ist eigentlich immer irgendwie Linux geblieben, auch wenn das nicht immer alle geglaubt haben. 2010, als der Google-Entwickler Patrick Brady erklärte, dass “Android nicht Linux” ist, war das Schisma auch offiziell vollzogen. Spätestens jetzt mit der Veröffentlichung des Kernel 3.3 hat Linus Torvalds den Graben wieder überwunden.

Gleichzeitig entwickelte Google Android in einer Art und Weise weiter, die mit dem ‘traditionellen’ Linux-Kernel nicht kompatibel war. Greg Kroah-Hartman, oberster Wächter des stabilen Linux-Kernel für die Linux Foundation, erklärte, dass Android weit mehr sei, als ein paar seltsame Treiber. Das Sicherheitssystem und auch andere Architekturelle Veränderungen wie zum Beispiel die vollständig andere Framebuffer-Treiber-Infrastruktur sorgen für Inkompatibilitäten.

Von Google hieß es dazu über den Entwickler Chris DiBona, dass Google so mit der Entwicklung von Android beschäftig sei, dass man sich nicht mehr mit den Kernel-Entwicklern abstimme. Dennoch hatte selbst Linus Torvalds niemals die Absicht Google wegen der Verletzung der General Public License zu verklagen. Das hinderte ihn jedoch nicht daran, 2009, Android-Treiber aus dem Linux-Hauptkernel zu werfen.

Im vergangenen Herbst gab es erste Anzeichen dafür, dass Linux und Android wieder zusammenwachsen könnten. Torvalds sprach damals davon, dass die Anpassungen noch vier bis fünf Jahre dauern könnten. Und auch auf dem Kernel Summit in Prag im Oktober 2011 wurde diese Option diskutiert und von den Besuchern wohlwollend aufgegriffen.

Und noch im Dezember erklärte Kroah-Hartmann, dass mit dem Kernel 3.3 bereits der Großteil des Android-Codes gemerged sein werde, dass es aber noch eine Weile dauern werde, bis alle Probleme bereinigt seien. Doch jetzt ist der Kernel 3.3 verfügbar und man kann den Android-Code kompilieren und booten, auch wenn die WakeLocks noch nicht im Haupt-Kernel sind, wie Kroah-Harman warnt. Aber jetzt sind Android und Linux wieder vereint.

Weitere Neuerungen im Kernel 3.3 sind der Support des Dateisystems btrfs für den Wechsel des RAID-Modus im laufenden Betrieb. Verbesserungen gibt es auch bei ext4: Da das Ändern der Dateisystemgröße nun vollständig im Kernel abläuft, soll der Vorgang deutlich schneller vonstattengehen.

Mit Open vSwitch ist ein zusätzlicher virtueller Netzwerk-Switch hinzugekommen. Im Vergleich zur bekannten Linux Bridge eignet er sich für komplexere Szenarien und vor allem als vSwitch in virtualisierten Serverumgebungen. Ein neuer “Teaming”-Treiber ermöglicht das Bündeln mehrerer Netzwerkschnittstellen (Bonding). Außerdem lässt sich in der Kernel-Version 3.3 der Speicher begrenzen, den TCP als Puffer nutzt, und der Zugriff von Anwendungen auf die Netzwerkschnittstellen priorisieren.

Das Booten ist ab sofort auch über EFI möglich – und zwar mit demselben Kernel-Image wie für BIOS. Eine weitere Neuerung ist die Unterstützung der C6x-Architektur von Texas Instruments. Auf ihr basieren vor allem digitale Signalprozessoren (DSPs), die in einigen ARM-Chips als Koprozessoren zum Einsatz kommen. Wie üblich wurden darüber hinaus zahlreiche Treiber aktualisiert.

Eine Liste der wichtigsten Änderungen in Kernel 3.3 findet sich bei kernelnewbies.org. Das komplette Changelog steht auf dem FTP-Server von kernel.org noch nicht bereit.

[Mit Material von Steven J. Vaughan-Nichols, ZDNet.com und Björn Greif, ZDNet.de]