„Coreboot“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
K Weblink aus Fließtext entfernt
 
(16 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:

{{Infobox Software
{{Infobox Software
|Name = coreboot
|Name = coreboot
Zeile 6: Zeile 5:
|Beschreibung = BIOS zur Initialisierung einer Payload
|Beschreibung = BIOS zur Initialisierung einer Payload
|Maintainer =
|Maintainer =
|Hersteller = Coreboot-Team
|Hersteller = coreboot-Team
|Erscheinungsjahr = 1999
|Erscheinungsjahr = 1999
|AktuelleVersion = 4.17
|AktuelleVersion = <!-- wikidata -->
|AktuelleVersionFreigabeDatum = 3. Juni 2022
|AktuelleVersionFreigabeDatum = <!-- Wikidata -->
|AktuelleVorabVersion =
|AktuelleVorabVersion =
|AktuelleVorabVersionFreigabeDatum =
|AktuelleVorabVersionFreigabeDatum =
Zeile 21: Zeile 20:
}}
}}


'''coreboot''' (ehemals '''LinuxBIOS''') ist ein Projekt, welches zum Ziel hat, ein quell-offenes, [[Freie Software|freies]] [[Basic Input Output System|BIOS]] zu entwickeln. LinuxBIOS wurde 1999 vom [[Los Alamos National Laboratory]] gestartet und Anfang 2008 in „coreboot“ umbenannt.<ref>[http://www.pro-linux.de/news/2008/12373.html ''Pro-Linux News: LinuxBIOS wird zu Coreboot'']</ref> Das Projekt ist unter der [[GNU General Public License]] lizenziert.
'''Coreboot''' (Eigenschreibung: '''coreboot,''' ehemals '''LinuxBIOS''') ist ein Projekt, welches zum Ziel hat, [[Open Source|quelloffene]], [[Freie Software|freie]] [[Plattforminitialisierung]] zu entwickeln. LinuxBIOS wurde 1999 vom [[Los Alamos National Laboratory]] gestartet und Anfang 2008 in „coreboot“ umbenannt.<ref>[http://www.pro-linux.de/news/2008/12373.html ''Pro-Linux News: LinuxBIOS wird zu Coreboot'']</ref> 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.<ref>Siehe http://www.fsf.org/campaigns/priority.html#coreboot</ref> Das Projekt erhielt auch Unterstützung aus der [[Wirtschaft]], etwa von [[Google]], [[Micro-Star International|MSI]], [[Silicon Integrated Systems]] (SiS), [[Tyan]], [[Linux Networx]] und der [[coresystems GmbH]], zeitweise auch von [[AMD]].
Das Projekt wird von der [[Free Software Foundation]] (FSF) gutgeheißen und als eines der Projekte mit hoher Priorität angesehen.<ref>Siehe http://www.fsf.org/campaigns/priority.html#coreboot</ref> Das Projekt erhielt auch Unterstützung aus der [[Wirtschaft]], etwa von [[Google LLC|Google]], [[Micro-Star International|MSI]], [[Silicon Integrated Systems]] (SiS), [[Tyan]], [[Linux Networx]] und der [[coresystems GmbH]], zeitweise auch von [[AMD]]. Im April 2019 wurde der [[Abspaltung (Softwareentwicklung)|Fork]] oreboot gestartet, der anstatt in der Programmiersprache C in [[Rust (Programmiersprache)| Rust]] geschrieben ist.


== Innovationen in Coreboot ==
== Innovationen in Coreboot ==


Durch den Einsatz von Coreboot kann der Bootvorgang erheblich beschleunigt werden. Auf einigen [[System]]en beträgt die Boot-Zeit weniger als eine Sekunde. Des Weiteren erlaubt Coreboot Fernzugriff und ist speziell für [[Computercluster|Cluster]]-Systeme konzipiert.
Durch den Einsatz von Coreboot kann der Bootvorgang erheblich beschleunigt werden. Auf einigen [[System]]en beträgt die Boot-Zeit weniger als eine Sekunde. Der Ursprung liegt im Bereich von [[Hochleistungsrechnen|High-Performance-Computing]] und [[Computercluster|Cluster]]-Systemen.


=== Funktion für den Bootvorgang ===
=== 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 (Betriebssystem)|Kernel]]. Ein Großteil des Coreboot-Codes dient dazu, das [[Random-Access Memory|RAM]] benutzbar zu machen, den PCI-Bus und die serielle Schnittstelle zu initialisieren, letztere als Ausgabegerät zur Fehlersuche.
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 (Betriebssystem)|Kernel]]. Ein Großteil des Coreboot-Codes dient dazu, das [[Random-Access Memory|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|Open-Firmware]]''-Implementierung (dazu gehören ''[[OpenBIOS]], [[SmartFirmware]]'' sowie ''Open Firmware'' selbst), ''[[Memtest86]], [[GRUB2]], [[SeaBIOS]], [[Plan 9 (Betriebssystem)|Plan 9]]'' und ein [[Linux (Kernel)|Linux-Kernel]]. Prinzipiell sind als Payload auch verschiedene andere Bootloader, Betriebssysteme und Standalone-Software einsetzbar.<ref>Siehe [http://www.coreboot.org/Payloads Auflistung des Coreboot-Wiki]</ref>
Nach der Systeminitialisierung durch Coreboot springt die ''Payload'' an, die das weitere Hochfahren des Systems übernimmt. Die bekanntesten sind FILO (ein minimalistischer [[Bootloader]]), eine IEEE-1275-konforme ''[[Open Firmware|Open-Firmware]]''-Implementierung (dazu gehören ''[[OpenBIOS]], [[SmartFirmware]]'' sowie ''Open Firmware'' selbst), ''[[Memtest86]], [[GRUB2]], [[SeaBIOS]], [[Plan 9 (Betriebssystem)|Plan 9]]'' und ein [[Linux (Kernel)|Linux-Kernel]]. [[Etherboot]] wurde durch eine neue Netzwerkboot-Payload mit integriertem [[iPXE]]-ROM ersetzt. Prinzipiell sind als Payload auch verschiedene andere Bootloader, Betriebssysteme und Standalone-Software einsetzbar.<ref>Siehe [http://www.coreboot.org/Payloads Auflistung des Coreboot-Wiki]</ref>


Der Linux-Kernel ist ab der Version 2.6 so groß (>1&nbsp;[[Mebibyte|MiB]]), dass er in den meisten üblichen Flash-ROMs (4&nbsp;Mbit bzw. 512&nbsp;[[Kibibyte|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.&nbsp;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&nbsp;MiB, was sogar für eine komplette Linux-Distribution mit graphischer Oberfläche ausreicht.<ref>[https://www.youtube.com/watch?v=nuzRsXKm_NQ ''LinuxBIOS with X Server Inside'']</ref>
Der Linux-Kernel ist ab der Version 2.6 so groß (>1&nbsp;[[Mebibyte|MiB]]), dass er in den meisten üblichen Flash-ROMs (4&nbsp;Mbit bzw. 512&nbsp;[[Kibibyte|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.&nbsp;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&nbsp;MiB, was sogar für eine komplette Linux-Distribution mit graphischer Oberfläche ausreicht.<ref>[https://www.youtube.com/watch?v=nuzRsXKm_NQ ''LinuxBIOS with X Server Inside'']</ref>
Zeile 41: Zeile 40:
Derzeit werden insgesamt etwa 230<ref>[http://www.coreboot.org/Welcome_to_coreboot Coreboot-Wiki]</ref> Hauptplatinen von verschiedenen Herstellern (mit vielen unterschiedlichen Chipsätzen) unterstützt.
Derzeit werden insgesamt etwa 230<ref>[http://www.coreboot.org/Welcome_to_coreboot Coreboot-Wiki]</ref> Hauptplatinen von verschiedenen Herstellern (mit vielen unterschiedlichen Chipsätzen) unterstützt.


Sämtliche [[Chromebook]]s außer den ersten drei Modellen laufen mit Coreboot.<ref>{{Webarchiv|url=http://www.coreboot.org/Chromebooks |wayback=20160508225442 |text=Archivierte Kopie |archiv-bot=2019-08-30 14:01:27 InternetArchiveBot }}</ref>
Seit 2012 laufen alle [[Chromebook]]s (und andere Geräte mit [[ChromeOS]]) mit Coreboot.<ref>{{Internetquelle |url=https://doc.coreboot.org/distributions.html#chromeos-devices |titel=Hardware shipping with coreboot: ChromeOS Devices |werk=coreboot.org |sprache=en |abruf=2023-09-23}}</ref>


== Verwendung von Coreboot ==
== Verwendung von Coreboot ==
Zeile 50: Zeile 49:


Das 1983 gegründete [[GNU-Projekt]] hatte zunächst die Entwicklung eines freien [[Betriebssystem]]s zum Ziel. Zusammen mit dem [[Geschichte von Linux#Linux unter der GNU GPL|1992 unter die GPL gestellten Linux]] wurde das erste Betriebssystem geschaffen, das unter einer [[Open-Source-Lizenz]] erhältlich war&nbsp;– 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 [[Festwertspeicher|ROM]]-Image (zum Beispiel einem Linux-Kernel, ''OpenBIOS, Open Firmware,'' o.&nbsp;a.), wurde eine mehr oder minder ''freie'' Brücke zwischen Hardware und Software geschlagen.
Das 1983 gegründete [[GNU-Projekt]] hatte zunächst die Entwicklung eines freien [[Betriebssystem]]s zum Ziel. Zusammen mit dem [[Geschichte von Linux#Linux unter der GNU GPL|1992 unter die GPL gestellten Linux]] wurde das erste Betriebssystem geschaffen, das unter einer [[Open-Source-Lizenz]] erhältlich war&nbsp;– 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 [[Festwertspeicher|ROM]]-Image (zum Beispiel einem Linux-Kernel, ''OpenBIOS, Open Firmware,'' o.&nbsp;a.), wurde eine mehr oder minder ''freie'' Brücke zwischen Hardware und Software geschlagen.
Coreboot enthält allerdings noch immer [[Proprietär|proprietäre]] [[Binärblob|Binärblobs]], deshalb wurde im Sommer 2014 eine Distribution von Coreboot mit dem Namen [[Libreboot]] gegründet.<ref>{{cite web | url=https://directory.fsf.org/wiki/Libreboot | title=Libreboot | publisher=Free Software Foundation | accessdate=2017-02-10 | language=englisch}}</ref><ref>{{cite web | url=https://libreboot.org/ | title=Libreboot | publisher=Libreboot | accessdate=2017-02-10 | language=englisch}}</ref>
Coreboot enthält allerdings noch immer [[Proprietär|proprietäre]] [[Binärblob]]s, deshalb wurde im Sommer 2014 eine Distribution von Coreboot mit dem Namen [[Libreboot]] gegründet.<ref>{{cite web | url=https://directory.fsf.org/wiki/Libreboot | title=Libreboot | publisher=Free Software Foundation | accessdate=2017-02-10 | language=englisch}}</ref><ref>{{cite web | url=https://libreboot.org/ | title=Libreboot | publisher=Libreboot | accessdate=2017-02-10 | language=englisch}}</ref>


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. [[Unified_Extensible_Firmware_Interface|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.
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. [[Unified Extensible Firmware Interface|UEFI]]) zu implementieren, die bewusste Beschränkungen der Funktionalität befürchten lassen. Beispielsweise [[Digitale Rechteverwaltung]], deren Funktionalität in Teilen absichtlich nicht offengelegt wird.


== Weblinks ==
== Weblinks ==

Aktuelle Version vom 2. Oktober 2023, 01:23 Uhr

coreboot

Logo
Basisdaten

Entwickler coreboot-Team
Erscheinungsjahr 1999
Aktuelle Version 24.08[1]
(2. September 2024)
Betriebssystem unterstützt diverse Betriebssysteme
Programmier­sprache C, Assemblersprache
Kategorie hardwarenahe Software
Lizenz GPLv2 (freie Software)
coreboot.org

Coreboot (Eigenschreibung: coreboot, ehemals LinuxBIOS) ist ein Projekt, welches zum Ziel hat, quelloffene, freie Plattforminitialisierung zu entwickeln. LinuxBIOS wurde 1999 vom Los Alamos National Laboratory gestartet und Anfang 2008 in „coreboot“ umbenannt.[2] 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.[3] 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. Im April 2019 wurde der Fork oreboot gestartet, der anstatt in der Programmiersprache C in Rust geschrieben ist.

Innovationen in Coreboot

[Bearbeiten | Quelltext bearbeiten]

Durch den Einsatz von Coreboot kann der Bootvorgang erheblich beschleunigt werden. Auf einigen Systemen beträgt die Boot-Zeit weniger als eine Sekunde. Der Ursprung liegt im Bereich von High-Performance-Computing und Cluster-Systemen.

Funktion für den Bootvorgang

[Bearbeiten | Quelltext bearbeiten]

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), 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. Etherboot wurde durch eine neue Netzwerkboot-Payload mit integriertem iPXE-ROM ersetzt. Prinzipiell sind als Payload auch verschiedene andere Bootloader, Betriebssysteme und Standalone-Software einsetzbar.[4]

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.[5]

Unterstützte Hardware

[Bearbeiten | Quelltext bearbeiten]

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

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

Seit 2012 laufen alle Chromebooks (und andere Geräte mit ChromeOS) mit Coreboot.[7]

Verwendung von Coreboot

[Bearbeiten | Quelltext bearbeiten]

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

[Bearbeiten | Quelltext bearbeiten]

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.[8][9]

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 absichtlich nicht offengelegt wird.

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Author Martin Roth: coreboot 24.08 release. 2. September 2024 (englisch, abgerufen am 3. September 2024).
  2. Pro-Linux News: LinuxBIOS wird zu Coreboot
  3. Siehe http://www.fsf.org/campaigns/priority.html#coreboot
  4. Siehe Auflistung des Coreboot-Wiki
  5. LinuxBIOS with X Server Inside
  6. Coreboot-Wiki
  7. Hardware shipping with coreboot: ChromeOS Devices. In: coreboot.org. Abgerufen am 23. September 2023 (englisch).
  8. Libreboot. Free Software Foundation, abgerufen am 10. Februar 2017 (englisch).
  9. Libreboot. Libreboot, abgerufen am 10. Februar 2017 (englisch).