Google und Facebook ersetzen Server-UEFI mit Linux
Die Arbeiten einzelner Angestellter, um proprietäre Firmware gegen freie Software zu ersetzen, bündeln Google und Facebook nun in dem Projekt Linuxboot unter dem Dach der Linux Foundation. Die beteiligten Entwickler sind bekannte Firmware-Hacker und arbeiten bereits länger an dem Projekt.
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. Der Google-Angestellte Ronald Minnich kündigte deshalb im vergangenen Herbst auf dem Open Source Summit in Prag das Nerf-Projekt an, das UEFI-Bestandteile - soweit es geht - durch Linux ersetzen soll. Gemeinsam mit Facebook und unter dem Dach der Linux Foundation ist daraus nun das Projekt Linuxboot hervorgegangen, wie die Linux Foundation mitteilt.
Linux-BIOS neu gedacht
Minnich arbeitet für Google bereits mehrere Jahre daran, proprietäre Elemente aus dem Bootprozess zu entfernen. Von ihm stammt das 1999 gestartete Projekt Linux-BIOS, aus dem 2008 Coreboot wurde. Bereits bei dem Linux-BIOS-Projekt ersetzte Minnich die proprietäre Server-Firmware durch den Linux-Kernel. Der Projekt-Fokus hat sich jedoch schnell verschoben, so dass mit Coreboot auch ein anderer Name gefunden wurde.
Intels S2600 ist eines der wenigen Test-Boards mit Linuxboot-Support.
Intels S2600 ist eines der wenigen Test-Boards mit Linuxboot-Support. (Bild: Linuxboot)
LINUXBOOT:
Google und Facebook ersetzen Server-UEFI mit Linux
Die Arbeiten einzelner Angestellter, um proprietäre Firmware gegen freie Software zu ersetzen, bündeln Google und Facebook nun in dem Projekt Linuxboot unter dem Dach der Linux Foundation. Die beteiligten Entwickler sind bekannte Firmware-Hacker und arbeiten bereits länger an dem Projekt.
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. Der Google-Angestellte Ronald Minnich kündigte deshalb im vergangenen Herbst auf dem Open Source Summit in Prag das Nerf-Projekt an, das UEFI-Bestandteile - soweit es geht - durch Linux ersetzen soll. Gemeinsam mit Facebook und unter dem Dach der Linux Foundation ist daraus nun das Projekt Linuxboot hervorgegangen, wie die Linux Foundation mitteilt.
Linux-BIOS neu gedacht
Minnich arbeitet für Google bereits mehrere Jahre daran, proprietäre Elemente aus dem Bootprozess zu entfernen. Von ihm stammt das 1999 gestartete Projekt Linux-BIOS, aus dem 2008 Coreboot wurde. Bereits bei dem Linux-BIOS-Projekt ersetzte Minnich die proprietäre Server-Firmware durch den Linux-Kernel. Der Projekt-Fokus hat sich jedoch schnell verschoben, so dass mit Coreboot auch ein anderer Name gefunden wurde.
Coreboot selbst dient dabei weiter als freie Alternative zu dem alten BIOS oder der moderneren Variante UEFI und wird bisher hauptsächlich in Chromebooks und einigen weiteren Laptops wie denen von Purism genutzt. Bisher unterstützt Coreboot jedoch keine Serverboards, so dass Minnich und die anderen Beteiligten das Konzept von Linux-BIOS nun wieder aufgreifen und bei Linuxboot versuchen, so viele Bestandteile des UEFI wie möglich durch freien Code zu ersetzen und dabei eben auf den Linux-Kernel zurückzugreifen.
Komplizierter Startprozess
Der Bootvorgang moderner Systeme ist insbesondere auf Servern vergleichsweise kompliziert. Noch bevor der Server den eigentlichen Bootloader für das Betriebssystem lädt beziehungsweise das Gerät auswählt, auf dem sich der Bootloader befindet, sind auf x86-Systemen üblicherweise drei Phasen der Hardwareinitialisierung abgeschlossen: die Sec-Phase (Security), die Pei-Phase (Pre-Efi Initialization) und DXE (Driver Execution Environment, sprich Dixie).
In der Sec-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 üblicherweise die proprietäre Firmware verschiedener Hersteller ins Spiel, welche die verbleibenden Geräte initialisiert. Das Linuxboot-Projekt folgt jedoch dem Motto: "Lass das Linux machen".
Linux ersetzt UEFI-Teile
In der DXE-Phase soll künftig Linuxboot den Start übernehmen. Die Entwickler wollen anstelle der proprietären Treiber ein Linux in Firmware mit Initramfs-Support einsetzen. Denn die mitunter schlecht getesteten Treiber würden nicht nur Fehler enthalten, sondern auch unnützen Code, heißt es. Zudem würden sie unter Umständen vorherige Sicherheitsbemühungen zunichte machen. Linuxboot soll also den Bootprozess auf Servern stabiler machen, sicherer und die Bootzeit deutlich beschleunigen.
Bestimmte Aufgaben erledige der Kernel bereits heute, erklärt das Projekt-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-Tabellen sollte sich hingegen weiter die Firmware kümmern.
Linuxboot arbeitet dabei unabhängig vom gewählten Initramfs, 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 sicherere Laufzeitumgebung, die sich ebenfalls als Initramfs für Linuxboot einsetzen lässt.
Ursprünglich waren alle drei Projekte unter dem Oberbegriff Nerf zusammengefasst. "Da dies nur verwirrender geworden wäre und wir nicht die Initramfs vorschreiben wollen, haben wir den Linux-Kernel in der Firmware Linuxboot genannt", schreibt das Team als Begründung für die Namenswahl.
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. Unterstützt wird das Linuxboot-Projekt neben Google und Facebook auch von Horizon Computing Solutions, die sich auf den Bau von Open-Compute-Hardware spezialisiert haben sowie von Two Sigma.
Letzteres ist das Unternehmen von Trammell Hudson, der unter anderem an dem erwähnten Heads arbeitet, das Magic-Lantern-Projekt gründete und die EFI-Schwachstellen mit dem Namen Thunderstrike fand. Auf dem jüngsten Kongress des Chaos Computer Clubs (CCC) in Leipzig stellte Hudson Details zu dem Projekt vor.
Congratulations @nando2901! You received a personal award!
Click here to view your Board
Congratulations @nando2901! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!