Coreboot

aus Wikipedia, der freien Enzyklopädie
coreboot

Logo
Basisdaten

Entwickler Coreboot-Team
Erscheinungsjahr 1999
Aktuelle Version 4.17
(3. Juni 2022)
Betriebssystem unterstützt diverse Betriebssysteme
Kategorie hardwarenahe Software
Lizenz GPLv2 (freie Software)
coreboot.org

Coreboot (Eigenschreibung: coreboot, ehemals LinuxBIOS) ist ein Projekt, welches zum Ziel hat, ein quell-offenes, freies BIOS zu entwickeln. LinuxBIOS wurde 1999 vom Los Alamos National Laboratory gestartet und Anfang 2008 in „coreboot“ umbenannt.[1] Das Projekt ist unter der GNU General Public License lizenziert.

Das Projekt wird von der Free Software Foundation (FSF) gutgeheißen und als eines der Projekte mit hoher Priorität angesehen.[2] Das Projekt erhielt auch Unterstützung aus der Wirtschaft, etwa von Google, MSI, Silicon Integrated Systems (SiS), Tyan, Linux Networx und der coresystems GmbH, zeitweise auch von AMD.

Innovationen in Coreboot

Durch den Einsatz von Coreboot kann der Bootvorgang erheblich beschleunigt werden. Auf einigen Systemen beträgt die Boot-Zeit weniger als eine Sekunde. Des Weiteren erlaubt Coreboot Fernzugriff und ist speziell für Cluster-Systeme konzipiert.

Funktion für den Bootvorgang

Coreboot selbst ist lediglich ein Minimal-Code, um das Mainboard mit all seinen Geräten zu starten. Unmittelbar danach erfolgt eine Übergabe an eine sogenannte Payload (engl. für Nutzlast), die dann das System weiter hochfährt. Coreboot enthält selbst keinen Kernel. Ein Großteil des Coreboot-Codes dient dazu, das RAM benutzbar zu machen, den PCI-Bus und die serielle Schnittstelle zu initialisieren, letztere als Ausgabegerät zur Fehlersuche.

Nach der Systeminitialisierung durch Coreboot springt die Payload an, die das weitere Hochfahren des Systems übernimmt. Die bekanntesten sind FILO (ein minimalistischer Bootloader), Etherboot, eine IEEE-1275-konforme Open-Firmware-Implementierung (dazu gehören OpenBIOS, SmartFirmware sowie Open Firmware selbst), Memtest86, GRUB2, SeaBIOS, Plan 9 und ein Linux-Kernel. Prinzipiell sind als Payload auch verschiedene andere Bootloader, Betriebssysteme und Standalone-Software einsetzbar.[3]

Der Linux-Kernel ist ab der Version 2.6 so groß (>1 MiB), dass er in den meisten üblichen Flash-ROMs (4 Mbit bzw. 512 KiB) keinen Platz findet. Da Coreboot keine Gerätetreiber enthält, kann die Festplatte nicht direkt ausgelesen werden und eine Payload mit Gerätetreibern (z. B. FILO oder GRUB2) übernimmt das Laden von der Festplatte. Da neuere Mainboards oft aufgelötete Flash-ROMs verwenden, ist ein Austausch durch größere Chips nicht immer praktikabel. Die größten verfügbaren Flash-ROMs bewegen sich in der Größenordnung von 4 bis 8 MiB, was sogar für eine komplette Linux-Distribution mit graphischer Oberfläche ausreicht.[4]

Unterstützte Hardware

Die Unterstützung der Hardware wird eingeteilt in Unterstützung von Hauptplatinen und Chipsätzen.

Derzeit werden insgesamt etwa 230[5] Hauptplatinen von verschiedenen Herstellern (mit vielen unterschiedlichen Chipsätzen) unterstützt.

Sämtliche Chromebooks außer den ersten drei Modellen laufen mit Coreboot.[6]

Verwendung von Coreboot

Coreboot wird in verschiedenen Cluster-Systemen, unter anderem am Los Alamos National Laboratory, und auch in diversen Embedded-Systemen (z. B. in Set-Top-Boxen) eingesetzt. Ein weiteres Einsatzgebiet ist der Server-Bereich. So setzt zum Beispiel die Free Software Foundation mehrere Server mit Coreboot (und darüber einem freien Betriebssystem) ein. Auch Unterstützung für Standard-Desktop-Computer ist gegeben: Das Gigabyte GA-M57SLI-S4, ein Mainstream-AM2-Mainboard beispielsweise wird unterstützt.

Bedeutung für die Freie-Software-Bewegung

Das 1983 gegründete GNU-Projekt hatte zunächst die Entwicklung eines freien Betriebssystems zum Ziel. Zusammen mit dem 1992 unter die GPL gestellten Linux wurde das erste Betriebssystem geschaffen, das unter einer Open-Source-Lizenz erhältlich war – abgesehen von der vor dem Betriebssystemstart aktiven proprietären Firmware. Das Problem dieses fehlenden Teilstücks Freier Software wurde erst im Jahr 1999 angegangen. Durch Coreboot in Verbindung mit einem freien ROM-Image (zum Beispiel einem Linux-Kernel, OpenBIOS, Open Firmware, o. a.), wurde eine mehr oder minder freie Brücke zwischen Hardware und Software geschlagen. Coreboot enthält allerdings noch immer proprietäre Binärblobs, deshalb wurde im Sommer 2014 eine Distribution von Coreboot mit dem Namen Libreboot gegründet.[7][8]

Herkömmliche BIOS-Varianten sind nicht selten mit gewissen Softwarefehlern behaftet; diese sind oft nicht zu bereinigen, wenn nicht vom Hersteller ein Update zur Verfügung gestellt wird. Neben diesen unabsichtlichen Einschränkungen gibt es Ansätze, in Zukunft weitere Funktionen in der proprietären Firmware (BIOS bzw. UEFI) zu implementieren, die bewusste Beschränkungen der Funktionalität befürchten lassen. Beispielsweise Digitale Rechteverwaltung, deren Funktionalität in Teilen bewusst nicht offengelegt wird.

Weblinks

Einzelnachweise

  1. Pro-Linux News: LinuxBIOS wird zu Coreboot
  2. Siehe http://www.fsf.org/campaigns/priority.html#coreboot
  3. Siehe Auflistung des Coreboot-Wiki
  4. LinuxBIOS with X Server Inside
  5. Coreboot-Wiki
  6. Archivierte Kopie (Memento des Originals vom 8. Mai 2016 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/www.coreboot.org
  7. Libreboot (englisch) Free Software Foundation. Abgerufen am 10. Februar 2017.
  8. Libreboot (englisch) Libreboot. Abgerufen am 10. Februar 2017.