Was ist ein First-Stage-Bootloader?
What is First-stage boot loader
The first-stage bootloader (FSBL) is the first boot stage for the HPS. In FPGA Configuration First mode, the SDM extracts and loads the FSBL into the on-chip RAM of the HPS. The SDM releases the HPS from reset after the FPGA has entered user mode. After the HPS exits reset, it uses the FSBL hardware handoff file to setup the clocks, HPS dedicated I/Os, and peripherals. Typically, the FSBL then loads the SSBL into HPS SDRAM and passes the control to the SSBL.
Der First-Stage-Bootloader (FSBL) ist die erste Boot-Stufe für den HPS. Im FPGA Configuration First-Modus extrahiert und lädt der SDM den FSBL in das On-Chip-RAM des HPS. Der SDM gibt den HPS aus dem Reset frei, nachdem das FPGA in den Benutzermodus gewechselt hat. Nachdem der HPS den Reset beendet hat, verwendet er die FSBL-Hardware-Handoff-Datei, um die Takte, die dedizierten I/Os des HPS und die Peripheriegeräte einzustellen. Normalerweise lädt die FSBL dann die SSBL in den HPS-SDRAM und übergibt die Steuerung an die SSBL.
closed_qa
Bootloader können besonderen Beschränkungen unterliegen, vor allem was die Größe angeht. So sollte ein Bootsektor auf dem früheren IBM PC und kompatiblen Computern in der Regel nur 32 KiB (später 64 KiB) des Systemspeichers belegen und nur Befehle verwenden, die von den ursprünglichen 8088/8086-Prozessoren unterstützt wurden. Die erste Stufe des PC-Bootloaders (FSBL, first-stage boot loader), die sich auf Festplatten und Wechsellaufwerken befindet, muss in die ersten 446 Bytes des Master-Boot-Records passen, um Platz für die standardmäßige 64-Byte-Partitionstabelle mit vier Partitionseinträgen und die zwei Byte lange Boot-Signatur zu lassen, die das BIOS für einen ordnungsgemäßen Bootloader benötigt - oder sogar noch weniger, wenn zusätzliche Funktionen wie mehr als vier Partitionseinträge (bis zu 16 mit je 16 Byte), eine Festplattensignatur (6 Byte), ein Festplattenzeitstempel (6 Byte), eine Advanced Active Partition (18 Byte) oder spezielle Multi-Bootloader in manchen Umgebungen ebenfalls unterstützt werden müssen. In Floppy- und Superfloppy-Datenträgern werden seit DOS 4.0 bis zu 59 Bytes für den erweiterten BIOS-Parameterblock auf FAT12- und FAT16-Datenträgern belegt, während der mit DOS 7.1 eingeführte FAT32-EBPB sogar 87 Bytes benötigt, so dass bei einer angenommenen Sektorgröße von 512 Bytes nur 423 Bytes für den Bootloader bleiben. Die Microsoft-Bootsektoren legten dem Bootvorgang daher traditionell bestimmte Beschränkungen auf, z. B. musste sich die Bootdatei an einer festen Position im Stammverzeichnis des Dateisystems befinden und in aufeinanderfolgenden Sektoren gespeichert werden, Bedingungen, für die der SYS-Befehl sorgte und die in späteren Versionen von DOS etwas gelockert wurden.Der Bootloader konnte dann die ersten drei Sektoren der Datei in den Speicher laden, der zufällig einen anderen eingebetteten Bootloader enthielt, der den Rest der Datei in den Speicher laden konnte. Als Microsoft LBA- und FAT32-Unterstützung hinzufügte, ging man sogar zu einem Bootloader über, der sich über zwei physische Sektoren erstreckte und aus Größengründen 386-Befehle verwendete. Gleichzeitig gelang es anderen Herstellern, viel mehr Funktionen in einen einzigen Bootsektor zu quetschen, ohne die ursprünglichen Beschränkungen auf nur minimalen verfügbaren Speicher (32 KiB) und Prozessorunterstützung (8088/8086) zu lockern. DR-DOS-Bootsektoren sind zum Beispiel in der Lage, die Bootdatei im FAT12-, FAT16- und FAT32-Dateisystem zu finden und sie als Ganzes über CHS oder LBA in den Speicher zu laden, auch wenn die Datei nicht an einem festen Ort und in aufeinanderfolgenden Sektoren gespeichert ist.

BIOS und UEFI laden das Betriebssystem nicht nur von einem nichtflüchtigen Gerät, sondern initialisieren auch die Systemhardware für das Betriebssystem.

Beispiele für First-Stage-Bootloader sind BIOS, Coreboot, Libreboot und Das U-Boot.
de