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
- Linuxboot: Google und Facebook ersetzen Server-UEFI mit Linux
- Linux ersetzt UEFI-Teile
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 |
- 1
- 2
Zumindest machen die etwas, was eine Richtung einschlägt, die für uns willkommen ist...
wie du meinst... ich geb's auf.
Der Linux-Kernel wird als Kernel für ein Betriebssystem entwickelt. Zudem ist die...
1. Fuzzing funktioniert oft (nicht immer) mit Source Code. Guck dir zum Beispiel mal...