Zum Inhalt springen

Bootstrap: Unterschied zwischen den Versionen

Aus Foxwiki
Die 5 zuletzt angesehenen Seiten:  Bootstrap
K Dirkwagner verschob die Seite Kategorie:Bootstrap nach Bootstrap, ohne dabei eine Weiterleitung anzulegen
Weiterleitung nach Bootstrapping erstellt
 
Zeile 1: Zeile 1:
== Grundlagen ==
#WEITERLEITUNG [[Bootstrapping]]
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 28. Januar 2025, 11:32 Uhr

Weiterleitung nach: