Booten

Notwendige Dateien

preloadImage.bin                 // falls doppel-Boot
fpgaSystem.rbf                     // binäre Systemdatei
socfpga.dtb                           // device Tree
U-Boot.scr                            // script bootloader
zImage                                  // Yocto-Ergänzungen

Die Images können z.B. mit Bitbake (yocto) erstellt werden.

Build-System

Für ein eigenes Linux, muss im

Minimum

  • Files-System mit von Hand kompilierten Programmen für das Target

oder im Normalfall für ein

Kleines Linux

  • Bibliotheken (uCLib)
  • Bootlaoder
  • Sytemprogramme (Busybox) oder Kernel
  • Applikationsprogramme

Für das Target kompilieren und dort zum Laufen (Booten) bringen.

Diese Schritte können von Hand, oder mit der Hilfe eine Build-Systems getan werden.

Vorteil Build-System

Bei der Installation wird die korrekte Reihenfolgen durch die Automatisation eingehalten. Abhängigkeiten sind bekannt und das Build-System zeigt Inkompatibilitäten an.

 

Bekannte Build-Systeme

  • Buildroot
  • OpenWRT (basiert auf Buildroot)
  • Yocto

 

Build Programme

  • bitbake (Yocto):
    In Yocto wird für den bootloader (+ preloader), den kernel mit dem dazugehörendem device tree und für das file System ein separates Image gebildet.  Alle Images und Zusatzdateien zusammen führen zu einer grossem Image.bin.

 

 

 

Big Endidan, littel endian

Einfach, weil ich es immer wieder verwechsle:

Little Endian, entspricht der hex schreibweise
Wert:                                               0xA0C518
Reihenfolge im Speicher:           0xA0C518

  • hat sich durchgesetzt bei PCs (weil dies meist Intel-Prozessoren sind, x86, die littel endian Daten Speichern
  • Aufbau wie Stunden::Minuten::Sekunden.
    Zuerst der grosse Wert, dann der kleinere. (Am Ende stehen die tiefen Werte, die Einer)
  • Aufbau wie unser Dezimal (oder Hex) Zahlensytem

Big Endian, der Exot
Wert:                                               0xA0C518
Reihenfolge im Speicher:           0x18C5A0

  • Wird bei den Netzwerkprotokollen gebraucht
  • Kommt im Embedded Bereich bei der Datenverarbeitung vor
  • Das Ablegen der Daten entspricht nicht der Zahlenwertnotation
  • Aufbau wie Tag::Monat::Jahr
    Am Ende steht die grösste Einheit