Hardware-Bring-up Linaro - Open Source mit sanftem Druck

Linaro ist eine neu gegründete Linux-Initiative, mit dem Ziel, ein gemeinsames Fundament für ARM-Linux-Distributionen zu schaffen. Die Halbleiterhersteller, die die Träger der Linaro-Organisation sind, wollen Doppelentwicklungen vermeiden und den Open-Source-Entwicklungsprozess mit zeitlicher und thematischer Verbindlichkeit durchführen.

Die Open-Source-Community und die Industrie - gegensätzlicher können Organisationen kaum sein. Während die Open-Source-Gemeinde basisdemokratische Organisationsprinzipien pflegt, sind Industrieunternehmen eine Diktatur im besten Sinne: Ein Führungskreis bestimmt die Ziele und diktiert der gesamten Organisation deren Umsetzung. So verwundert es nicht, dass es Reibungspunkte zwischen diesen beiden Gegenpolen geben muss und dass die Industrie mit der Open-Source-Community kein technisches, sondern ein mentales Problem hat. Denn wer bestimmt, wer an einem Open-Source-Prozess mitwirken darf und wer nicht? Wie lange dauert die Review einer Code-Contribution? Wann ist das nächste Release fällig? Welche Features sind darin enthalten? -- Das alles sind Fragen, die in einem Open-Source-Prozess zwar nicht frei verhandelbar sind, nach Ansicht der Linaro-Gründer aber auch nicht genau genug festliegen.

Deshalb ziehen es ARM und seine Entwicklungspartner vor, den Open-Source-Prozess in geregelte Bahnen zu lenken, und haben mit Linaro.org eine Non-Profit-Organisation gegründet, deren Gründer ARM und seine Halbleiterpartner IBM, Freescale, Texas Instruments, ST-Ericsson und Samsung sind. Aus dieser Aufzählung kann man entnehmen, auf welchen Mikrocontrollern der Linaro-Code wohl laufen wird. Mit im Boot ist Canonical, Hersteller der Linux-Distribution Ubuntu. Schon vor der Gründung von Linaro hatten ARM und Canonical zusammengearbeitet, um lauffähige Ubuntu-Releases für die ARM-Architektur zu entwickeln. Allerdings war dies nur für einige wenige Mikrocontroller gelungen, namentlich i.MX51, Marvell Dove und das Beagle Board von TI. Der Ansatz von Linaro ist umfassender.

Etwa die Hälfte des Linaro-Managements hat ARM-Wurzeln. Jedes der Mitglieder ist im sog. Technical Steering Council repräsentiert. Finanziert wird die Gesellschaft aus den Beiträgen der Mitglieder, die insgesamt ca. 70 Software-Entwickler und damit Engineering-Ressourcen für Linaro zur Verfügung stellen.

Von Chip-Herstellern finanzierte Wohltaten für die ARM-Linux-Community

Linaro selbst bezeichnet sich als "Meta-Distribution", ist also weder ein Betriebssystem oder eine neue Linux-Distribution, sondern ein Software-Fundament für Linux-Distributionen. Die Entwickler von Linaro konzentrieren sich auf Basis-Software, die nicht zur Differenzierung von Produkten beiträgt und direkt mit der Hardware interagiert. Das sind z.B.: Entwicklungswerkzeuge, Kernel, Grafik-Engine und Bootcode. Dieser Code soll dafür möglichst universell sein und auf vielen Prozessorplattformen und SoCs laufen. Das erste Release von Linaro ist für November 2010 geplant. Die Entwicklungsziele für diese erste Version lauten:

  • Debugging und Performance-Analyse auf Kernel-Ebene.
  • Power-Management und Leistungsverbesserung inkl. Reduzierung der Bootzeit.
  • Einführung von device trees. Ein device tree ist eine hierarchische Datenstruktur, die den Aufbau der Hardware beschreibt und den Bau von Multi-Plattform-Kernels ermöglicht. Anhand des device tree kann der Kernel feststellen, auf welcher Hardware er läuft.
  • Bereitstellung von "heads". Das sind Beispiel-Implementierungen von vertikalen Software-Stacks oder Distributionen, um zu zeigen, was oberhalb von Linaro alles laufen kann.
  • Integration von Telefonie-Funktionen.

Von dieser Software-Basis können dann wiederum die verschiedenen Linux-Distributionen profitieren -- aber auch die Halbleiterhersteller, die mit Linaro ihre Board Support Packages wesentlich schneller fertigstellen können. Um noch einmal den Unterschied zwischen Linaro und einer Linux-Distribution zu verdeutlichen: Distributionen sind einsatzfertige Linux-Versionen, die auf einen vertikalen Markt (Desktop, Server, Router, Smartphone, Telefonanlage, ...) und eine bestimmte Hardware abgestimmt sind. Linaro verfolgt hingegen einen horizontalen Ansatz, der alle ARM-Anwender betrifft.

Nach dem ersten, für November 2010 geplanten Release von Linaro sollen aktualisierte Versionen dann regelmäßig alle sechs Monate folgen. Wichtigstes Gremium der gegenseitigen Koordination dazu ist das Technical Steering Council (TSC), das vierzehntäglich eine Telefonkonferenz und viermal jährlich ein persönliches Treffen hat. Einmal jährlich findet eine Entwicklerkonferenz statt, die gleichzeitig mit dem Ubuntu Developer Summit stattfindet.