Linuxboot soll auf Servern Firmware-Treiber ersetzen

Bevor auf Servern der Bootloader startet, kommen im Zusammenspiel mit UEFI meist eine Reihe proprietärer Firmware-Treiber zum Einsatz, die einige Nachteile mit sich bringen. Das Linuxboot-Projekt soll dagegen steuern.

Noch bevor der Server den Bootloader lädt, beziehungsweise das Gerät auswählt, auf dem dieser sich befindet, sind auf x86-Systemen üblicherweise drei Phasen der Hardwareinitialisierung abgeschlossen: die Sec-Phase, die Pei-Phase (Pre-Efi Initialization) und DXE (Driver Execution Environment, gesprochen „Dixie“).

Der Begriff Sec steht für Security. In der Phase geht es darum, die CPU zu initialisieren und etwas Speicher in den SPI-Flash zu mappen, um das Pei-Image darin zu initialisieren. Bevor dies geschieht, erfolgt eine kryptografische Prüfung des Pei-Images. Letzteres konfiguriert dann seinerseits die Speicher-Controller, die Kommunikation zwischen den Prozessoren und weitere kritische Hardware. Ist diese zweite Phase abgeschlossen, startet eine dritte mit dem Driver Execution Environment. Hier kommt die proprietäre Firmware verschiedener Hersteller ins Spiel, welche die verbleibenden Geräte initialisiert.

Weg damit

Ron Minnich arbeitet für Google bereits länger daran, diese proprietären Elemente aus dem Bootprozess zu entfernen. vom ihm stammt das 1999 gestartete Projekt Linux-BIOS, aus dem 2008 Coreboot wurde. Coreboot strebt ein ähnliches Ziel an, unterstützt allerdings keine Server-Mainboards. Für Server soll künftig das Linuxboot-Projekt in die Bresche springen.

Aufbau von Linuxboot

Linuxboot will proprietäre Firmware-Treiber bei der Hardwareinitialisierung ersetzen (Quelle: Linuxboot.org)

In der DXE-Phase soll Linuxboot das Zepter übernehmen, das die Linux Foundation Ende letzter Woche ankündigte. Die Entwickler wollen anstelle der proprietären Treiber ein Linux in Firmware mit Initram-FS-Support einsetzen. Denn die mitunter schlecht getesteten Treiber würden nicht nur Fehler enthalten, sondern auch unnützen Code. Zudem würden sie unter Umständen vorherige Sicherheitsbemühungen zunichte machen, Stichwort Management Engine. Linuxboot soll also den Bootprozess auf Servern stabiler machen, sicherer und die Bootzeit deutlich beschleunigen.

Kernel, übernehmen Sie!

Bestimmte Aufgaben erledige der Kernel bereits heute, erklärt die FAQ auf der zugehörigen Webseite, dazu zählen etwa die Grafikinitialisierung und die PCI-Device-Tree-Nummerierung. Auch der System Management Mode (SMM) ließe sich integrieren, um das Generieren der ACPI-Tables sollte sich hingegen die Firmware kümmern.

Linuxboot arbeitet dabei unabhängig vom gewählten Initram-FS, was es erlaubt, die Initrd-Runtime an die eigenen Bedürfnisse anzupassen. Das Projekt Nerf verwendet Linuxboot zusammen mit U-Root, einem in Go geschriebenen Root-Filesystem. Heads wiederum ist eine sicherer Laufzeitumgebung, die sich ebenfalls als Initram-FS für Linuxboot einsetzen lässt. Ursprünglich liefen alle drei Projekte unter dem Oberbegriff Nerf.

34C3 - Bringing Linux back to server boot ROMs with NERF and Heads

Mit dem Abspielen des Videos erklären Sie sich damit einverstanden, externe Inhalte von YouTube anzuzeigen. Damit werden personenbezogene Daten an Drittplattformen übermittelt. Für weitere Informationen besuchen Sie die Datenschutzseite

Bislang gibt es zu dem Projekt ein noch leeres Repository auf Github, die Diskussionen finden auf einer Mailingliste und über den Instant-Messaging-Dienst Slack statt. Hintergrundinformationen vermittelt der verlinkte 34C3-Vortrag von Trammell Hudson.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Comments
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben