Bootcode: Freie Firmware für Raspberry Pi startet Linux-Kernel
Der Startvorgang auf den Minirechnern der Raspberry-Pi-Serie(öffnet im neuen Fenster) unterscheidet sich deutlich vom Bootprozess von zum Beispiel einer handelsüblichen Plattform mit Intel-Chip. So lädt zunächst ein fest in das SoC eingebrannter Code die eigentliche Firmware auf die Grafikeinheit des Chips, welche wiederum die Hardware initialisiert und dann weiteren Code nachlädt. Eine freie Alternative zu dieser proprietären Firmware von SoC-Hersteller Broadcom ist inzwischen so weit fortgeschritten(öffnet im neuen Fenster) , dass damit Linux gestartet werden kann.
Die Arbeiten an der freien Firmware geschehen hauptsächlich per Reverse Engineering und basieren zum Teil auch auf Header-Dateien, die Broadcom selbst unter einer freien Lizenz bereitstellt. Noch weist der Code allerdings einige Fehler auf, an denen das Entwicklerteam zurzeit arbeitet. Dazu gehört die Unterstützung für USB PHY, die zuverlässige Funktionsweise des eMMC-Treibers sowie die Reimplementierung der Treiber für die Energie- und Taktverwaltung des SoC.
Noch keine Grafikunterstützung
Mithilfe des verfügbaren Codes könne trotzdem ein minimales Kernel-Abbild verwendet werden, das für einen Betrieb ohne jede Grafikausgabe genutzt werden könne, meinen die Entwickler. Um eine Grafikausgabe umzusetzen, müsse das Team zusätzlich zu den zuletzt genannten Treibern noch die Unterstützung für einen direkten Speicherzugriff durch das Betriebssystem (DMA) sowie für die Videokomponenten erstellen. In dem proprietären Bootprozess wird Letzteres wiederum durch einen weiteren und vergleichsweise großen Binär-Blob umgesetzt.
Idealerweise ist das Team langfristig dazu in der Lage, so einen Startablauf für den Raspberry Pi zu implementieren, der ausschließlich freien Code nutzt. Vorteilhaft wäre das unter anderem für den freien Grafiktreiber, der von Eric Anholt im Auftrag von Broadcom erstellt wird. Schon zu Beginn seiner Arbeiten beurteilte Anholt diese Aufgabe als schwierig , da wichtige Teile der Grafikeinheit durch den Firmware-Blob gesteuert werden. Diese Schwierigkeit zeigte sich unter anderem bei der Treiberentwicklung für das offizielle Panel des Raspberry Pi im vergangenen Jahr . Anholt musste dazu um die proprietäre Firmware herum arbeiten, um das Panel standardkonform ansteuern zu können.
Der Code für die freie Firmware wird auf Github(öffnet im neuen Fenster) entwickelt. Dort finden sich auch Anleitungen zum Bauen und zu der Verwendung des Codes.
- Anzeige Hier geht es zu Linux: Das umfassende Handbuch bei Amazon Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.