Bootstrap: Unterschied zwischen den Versionen

Aus Foxwiki
K Dirkwagner verschob die Seite Bootstrap nach Kategorie:Bootstrap
K Dirkwagner verschob die Seite Kategorie:Bootstrap nach Bootstrap, ohne dabei eine Weiterleitung anzulegen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
== Grundlagen ==
Der englische Begriff „{{lang|en|[[Bootstrapping (Informatik)|bootstrap]]}}“ bezieht sich ursprünglich auf die Schlaufe, die sich an der Hinterseite eines Stiefels befindet, um das Anziehen des Stiefels zu erleichtern
* Der Prozess des Bootens (ein Programm auf einem Rechner laufen zu lassen, auf dem noch kein Betriebssystem läuft) erinnert teilweise an das Bemühen, sich an der eigenen Stiefelschlaufe aus dem Morast zu ziehen


Ein erster „{{lang|en|bootstrap loader}}“ befindet sich in der Hardware selbst
* Meist handelt es sich um einen [[Boot-ROM]], der die für das Starten grundlegende Hardwarekomponenten initialisiert, ein Startprogramm sucht und, wenn eines gefunden wird, ausführt
* Wo sich der Bootloader auf dem veränderlichen Datenspeicher zu befinden hat und wie er geladen wird, ist je nach [[Rechnerarchitektur]] und [[Plattform (Computer)|Plattform]] unterschiedlich
* Auf moderneren Architekturen liegt er meist als [[Datei]] auf einem von der Firmware unterstützten [[Dateisystem]] auf einem unterstützten [[Startfähiges Speichermedium|bootfähigen Medium]], etwa einer bestimmten [[Partition (Datenträger)|Partition]] auf der [[Festplatte]], und wird davon direkt geladen und ausgeführt
* Das ist beispielsweise bei [[Open Firmware]] und bei [[Unified Extensible Firmware Interface|UEFI]] der Fall, wobei die verwendeten [[Partitionstabelle]]n und Dateisysteme unterschiedlich sein können
* Auch der Bootloader selbst muss in einem bestimmten [[Ausführbare Datei|ausführbaren]] [[Dateiformat]] vorliegen
* Das kann einerseits der [[Prozessorarchitektur]] und im Besonderen deren [[Befehlssatz]] geschuldet sein, wie z. B. [[Portable Executable|PE]]/[[Common Object File Format|COFF]] bei UEFI, oder die Firmware implementiert ein Architektur-übergreifendes [[Zwischencode]]-Format wie z. B
* Open Firmware mit [[Forth (Programmiersprache)|Forth]] FCODE
* Einige ältere Architekturen laden den Bootloader aus einem vordefinierten [[Datenblock#Festplatten und Disketten|Block]] des startfähigen Mediums, der daher auch als Bootblock oder, gängiger, [[Bootsektor]] bezeichnet wird
* Bei [[IBM-PC-kompatibler Computer|IBM-PC-kompatiblen Computern]] mit [[BIOS (IBM PC)|BIOS]] befindet sich dieser immer im ersten Block, Block 0, der auf partitionierten Datenträgern wie Festplatten gängigerweise einen [[Master Boot Record|Master Boot Record (MBR)]] sowohl als Startprogramm als auch als Partitionstabelle enthält
* Auf Disketten wird in gleicher Weise Block 0 geladen und ausgeführt, allerdings findet sich dort im Normalfall keine Partitionstabelle, sondern ein [[Volume Boot Record|Volume Boot Record (VBR)]]
Auch im Bereich der [[Eingebettetes System|eingebetteten Systeme]] spricht man von Bootloadern
* Dort kann der Bootloader oft nicht nachgeladen werden, sondern befindet sich im nichtflüchtigen [[Halbleiterspeicher|Speicher]] des [[Steuergerät]]s
* Er beinhaltet Grundroutinen der Initialisierung und oft [[Kommunikationsprotokoll]]e, um den Austausch der [[Computerprogramm|Anwendungsprogramme]] zu ermöglichen
Beim [[Raspberry Pi]] ist aus kostengründen nur ein minimales Boot-ROM direkt im [[System-on-a-Chip|SoC]] untergebracht
* Diese erste Firmware-Stufe kann nichts anderes als auf die [[SD-Karte]] zuzugreifen und dort von einer FAT-Paritition die Datei <code>bootcode.bin</code> zu laden und auszuführen
* Im Fall eines Linux-Systems initialisiert diese zweite Firmware-Stufe die restliche Hardware und führt im Anschluss eine dritte Stufe aus der Datei <code>loader.bin</code> aus
* Dieser ''{{lang|en|bootstrap loader}}'' wiederum lädt nun die Firmware für [[Hauptprozessor|CPU]] und [[Grafikprozessor|GPU]] in den RAM
* Erst danach ist der [[Einplatinencomputer]] bereit, um den Linux-Kernel zu laden, wobei die Firmware-Konfiguration aus Datei <code>config.txt</code> und die Kernel-Parameter aus Datei <code>cmdline.txt</code> angewendet werden
Als [[Bootmanager]] wird ein auf einem [[Betriebssystem]] installierbares [[Dienstprogramm]] bezeichnet, das einen eigenen Bootloader enthält und erweiterte Konfigurationsmöglichkeiten bietet
[[Kategorie:Boot]]

Aktuelle Version vom 25. Oktober 2024, 23:40 Uhr

Grundlagen

Der englische Begriff „Vorlage:Lang“ bezieht sich ursprünglich auf die Schlaufe, die sich an der Hinterseite eines Stiefels befindet, um das Anziehen des Stiefels zu erleichtern

  • Der Prozess des Bootens (ein Programm auf einem Rechner laufen zu lassen, auf dem noch kein Betriebssystem läuft) erinnert teilweise an das Bemühen, sich an der eigenen Stiefelschlaufe aus dem Morast zu ziehen

Ein erster „Vorlage:Lang“ befindet sich in der Hardware selbst

  • Meist handelt es sich um einen Boot-ROM, der die für das Starten grundlegende Hardwarekomponenten initialisiert, ein Startprogramm sucht und, wenn eines gefunden wird, ausführt
  • Wo sich der Bootloader auf dem veränderlichen Datenspeicher zu befinden hat und wie er geladen wird, ist je nach Rechnerarchitektur und Plattform unterschiedlich
  • Auf moderneren Architekturen liegt er meist als Datei auf einem von der Firmware unterstützten Dateisystem auf einem unterstützten bootfähigen Medium, etwa einer bestimmten Partition auf der Festplatte, und wird davon direkt geladen und ausgeführt
  • Das ist beispielsweise bei Open Firmware und bei UEFI der Fall, wobei die verwendeten Partitionstabellen und Dateisysteme unterschiedlich sein können
  • Auch der Bootloader selbst muss in einem bestimmten ausführbaren Dateiformat vorliegen
  • Das kann einerseits der Prozessorarchitektur und im Besonderen deren Befehlssatz geschuldet sein, wie z. B. PE/COFF bei UEFI, oder die Firmware implementiert ein Architektur-übergreifendes Zwischencode-Format wie z. B
  • Open Firmware mit Forth FCODE
  • Einige ältere Architekturen laden den Bootloader aus einem vordefinierten Block des startfähigen Mediums, der daher auch als Bootblock oder, gängiger, Bootsektor bezeichnet wird
  • Bei IBM-PC-kompatiblen Computern mit BIOS befindet sich dieser immer im ersten Block, Block 0, der auf partitionierten Datenträgern wie Festplatten gängigerweise einen Master Boot Record (MBR) sowohl als Startprogramm als auch als Partitionstabelle enthält
  • Auf Disketten wird in gleicher Weise Block 0 geladen und ausgeführt, allerdings findet sich dort im Normalfall keine Partitionstabelle, sondern ein Volume Boot Record (VBR)

Auch im Bereich der eingebetteten Systeme spricht man von Bootloadern

Beim Raspberry Pi ist aus kostengründen nur ein minimales Boot-ROM direkt im SoC untergebracht

  • Diese erste Firmware-Stufe kann nichts anderes als auf die SD-Karte zuzugreifen und dort von einer FAT-Paritition die Datei bootcode.bin zu laden und auszuführen
  • Im Fall eines Linux-Systems initialisiert diese zweite Firmware-Stufe die restliche Hardware und führt im Anschluss eine dritte Stufe aus der Datei loader.bin aus
  • Dieser Vorlage:Lang wiederum lädt nun die Firmware für CPU und GPU in den RAM
  • Erst danach ist der Einplatinencomputer bereit, um den Linux-Kernel zu laden, wobei die Firmware-Konfiguration aus Datei config.txt und die Kernel-Parameter aus Datei cmdline.txt angewendet werden

Als Bootmanager wird ein auf einem Betriebssystem installierbares Dienstprogramm bezeichnet, das einen eigenen Bootloader enthält und erweiterte Konfigurationsmöglichkeiten bietet