Bootloader

Notwendige Dateien zum Booten

  • BSP (Board Support Packet)
  • Buildsystem

Das BSP wird oft vom Hersteller mitgelierfert (oder kann bei FPGAs über Quartus generiert werden.) Wesentliche Dateien im BSP sind der Device Tree, der die Grundeinstellungen der Komponenten beschreibt.

Das Buildsystem fügt die Komponenten

  • BSP
  • Treiber
  • Bibliotheken
  • Software (Kernel und Applikationen)
     

     

zusammen zu einem Image, und definiert  das File System. Zum Buildsystem gehört die Definition des Bootloader, der den ganzen Prozess ausführt.

Aufgabe des Bootloaders
Es ist der Bootloader, der den Startvorgang kennt. Er lädt die Dateien  (als Image) aus einem festen Speicher in das static RAM.

Mit dem Befehlt mkimage -h  kann der Inhalt des u-boot images angesehen werden.

Starten des bootens  boot.script
Das Build-System (z.B. Yocto) erzeugt über ein Build-Programm (z.B.  u-boot) ein boot.script. Das Script liegt an einem nicht flüchtigen Speicher. Beim Booten weiss das System, wo das Skript liegt und startet den Prozess automatisch.

Datenarten
Konzeptionell unterscheidet man zwischen zwei Dateitypen:
– Das Betriebsystem (Image, DeviceTree)
– Die Applikationssoftware

Gestaffeltes Booten
Booten heisst, unter anderem die Startadresse aller Vektoren für die Interrupts setzen.
Detaillierte technische Beschreibung zum Booten in http://stackoverflow.com/questions/31244862/what-is-the-use-of-spl-secondary-program-loader

Primary boot (Programm U-boot)
Der primary boot lädt die notwendigen Betriebsdateien ins RAM.

Secondary Programm loader (SPL)
Wird gebraucht, wenn das RAM nicht das ganze Image speichern kann und ein Teil des Boots, in ein externer Speicher abgelegt wird.