Zum Hauptinhalt Zur Navigation

Open Firmware: Google portiert Coreboot auf AMD-Epyc-Server

AMD kann oder will keine Epyc -Server-Firmware liefern, die den Regeln von Google genügt. Die entsteht deshalb nun auf Grundlage von Coreboot .
/ Sebastian Grüner
8 Kommentare News folgen (öffnet im neuen Fenster)
Auf einigen Epyc-Boards läuft nun komplett freie Firmware. (Bild: Hexus)
Auf einigen Epyc-Boards läuft nun komplett freie Firmware. Bild: Hexus

Als Teil des Open Compute Projects haben es sich unterschiedliche Unternehmen, allen voran Google, zur Aufgabe gemacht(öffnet im neuen Fenster) , künftig nur noch Firmware-Komponenten zu verwenden, die die Beteiligten selbst bauen, installieren und verteilen dürfen. Das sagt der Coreboot-Gründer Ron Minnich in seinem Vortrag auf der Open Source Firmware Conference (OSFC) 2020, deren Aufnahme nun verfügbar ist(öffnet im neuen Fenster) . AMD wird die Anforderungen laut Minnich aber selbst nicht erfüllen können, so dass er die Arbeiten mit seinem kleinen Team bei Google schlicht selbst übernommen hat – erfolgreich, wie er nun mitteilt.

Laut Minnich übernimmt die Firmware auf modernen Boards mit Epyc-CPUs von AMD kaum wichtige Aufgaben. Denn dies übernehme inzwischen hauptsächlich AMDs Platform Security Prozessor (PSP). Darauf laufe zwar ebenfalls sehr viel proprietäre Software, wie Minnich später einräumt. Für das Ziel der selbst wiederverwendbaren Firmware sei dies aber nebensächlich. Ähnlich dazu verwendet Google etwa Intels proprietäres Firmware Support Package in den Coreboot-Versionen auf Chromebooks. Auch in dem Linuxboot -Projekt werden proprietäre Bestandteile weiter verwendet.

Im Fall von Epyc ergibt sich aus dem aktuellen Aufbau, dass verhältnismäßig einfach eigene freie Firmware erstellt werden kann. Denn der Code des PSP startet die Komponenten so weit, dass auch bereits DRAM verfügbar ist, was oft der schwierigste Teil der Firmware-Arbeiten ist. Minnich ist es demnach in nur rund zwei Wochen gelungen, Linux auf einem Epyc-Board mittels Coreboot zu starten. Für den Code nutzt das Team inzwischen die in Rust geschriebene Variante Oreboot des Firmware-Projekts.

Die Verwendung von Oreboot habe mehrere Vorteile. Vor allem aber werde der Code dadurch massiv vereinfacht. Ebenso können andere Komponenten wiederverwendet werden, was mit Teilen aus dem Rust-Hypervisor XHype geschieht, etwa um ACPI-Tabellen zu generieren. Der freie Code laufe inzwischen auf mehreren verschiedenen Boards und dessen Funktionalität sei auch außerhalb von Google bestätigt worden.

Das Team um Minnich will den Code als Nächstes auf ein kostengünstigeres Board portieren, um so auch mehr Menschen an den Arbeiten zu interessieren. Minnich betont außerdem, dass es das erste Mal in rund 15 Jahren sei, dass der gesamte Firmware-Code zur Nutzung einer x86-Server-Plattform als Open Source zur Verfügung stehe. Der Code steht auf Github(öffnet im neuen Fenster) bereit. Minnich hat außerdem eine Aufnahme des Oreboot-Starts auf einem der Boards auf der Plattform Asciinema(öffnet im neuen Fenster) veröffentlicht.


Relevante Themen