Seminar oreboot Bootflow, Stages und Speicherlayout

Seminar / Training

Inhaltsverzeichnis

  • Einordnung
  • Kompetenzziele
  • Seminarinhalte
  • Praxisübungen
  • Methodik
  • Zielgruppe
  • Vorkenntnisse

Einordnung

Das Seminar untersucht die oreboot-Startkette vom Reset bis zur Payload. Stufenmodell, SRAM- oder XIP-Ausführung, DRAM-Übergang, Firmwareabbild, DTFS und der Vertrag mit SBI und Kernel werden anhand eines vollständigen Ablaufmodells bearbeitet.

Kompetenzziele

  • Resetzustand und verfügbare Ressourcen einer Plattform systematisch erfassen.
  • Frühe und späte Bootstufen mit eindeutigen Übergaben strukturieren.
  • Speicherkarte und Firmwareabbild ohne Überlappungen entwerfen.
  • DTFS, Device Tree und Payloadpositionen konsistent planen.
  • Fehlerzustände je Bootstufe durch beobachtbare Marker eingrenzen.

Seminarinhalte

Modul 1: Architektur und Vertrauensgrenzen

  1. Schritt 1: Startkette zerlegen

    Der Weg vom Resetvektor über SRAM- oder XIP-Code, DRAM-Phase und SBI bis zur Nutzlast wird als überprüfbare Abfolge modelliert.

  2. Schritt 2: Codeanteile zuordnen

    Rust, Assemblereinstieg, generierte Registerzugriffe und unvermeidbare Binärbestandteile werden nach Herkunft und Funktion klassifiziert.

  3. Schritt 3: Schnittstellen festlegen

    Übergabewerte, Speicherbereiche, Device Tree, Konsolenzugriff und Fehlerzustände werden zwischen den Stufen verbindlich beschrieben.

  4. Schritt 4: Prüfpunkte definieren

    Für jede Bootstufe werden beobachtbare Signale, erwartete Seiteneffekte und ein klarer Abbruch- oder Recovery-Pfad festgelegt.

Modul 2: Bootflow und Stufenmodell

  1. Schritt 1: Resetzustand bestimmen

    Ausführungsadresse, Privilegstufe, verfügbare Speicherbereiche, Registerzustand und Bootmedium werden aus der Plattformbeschreibung abgeleitet.

  2. Schritt 2: Frühe Stufe strukturieren

    Stack, minimale Takt- und Pin-Konfiguration, UART-Marker sowie der Übergang aus SRAM oder XIP werden in fester Reihenfolge geplant.

  3. Schritt 3: Hauptstufe laden

    Nach verfügbarer DRAM-Kapazität werden Firmwarebestandteile, Device Tree und Payload adresssicher in den Arbeitsspeicher übertragen.

  4. Schritt 4: Nutzlast übergeben

    SBI-Umgebung, Hart-ID, Device-Tree-Adresse, Einstiegspunkt und Fehlerbehandlung werden vor dem Sprung zur Nutzlast geprüft.

Modul 3: Speicherlayout, Firmwareabbild und DTFS

  1. Schritt 1: Adressräume erfassen

    Boot-ROM, SRAM, Memory-Mapped Flash, DRAM, Gerätefenster und reservierte Bereiche werden in einer gemeinsamen Karte dokumentiert.

  2. Schritt 2: Abbild gliedern

    Frühe Stufe, Hauptstufe, Device Tree, Payload und optionale Konfigurationsdaten erhalten feste, ausgerichtete Bereiche.

  3. Schritt 3: DTFS aufbauen

    Dateinamen, Offsets, Größen, Ausrichtung und maximale Kapazität werden so definiert, dass Loader und Buildwerkzeuge dieselbe Struktur verwenden.

  4. Schritt 4: Grenzfälle testen

    Zu große Payloads, überlappende Bereiche, falsche Ausrichtung und unvollständige Abbilder werden vor dem Flashen erkannt.

Modul 4: Resetvektor, Assemblereinstieg und Linkerskript

  1. Schritt 1: Einstiegspunkt festlegen

    Resetadresse, Symbolname, Ausrichtungsanforderungen und der Übergang vom Assemblereinstieg zu Rust werden eindeutig definiert.

  2. Schritt 2: Minimalzustand herstellen

    Stackzeiger, globale Pointer, BSS-Löschung, erforderliche Register und mehrere Harts werden kontrolliert initialisiert.

  3. Schritt 3: Sektionen platzieren

    Code, schreibgeschützte Daten, initialisierte Daten, BSS, Stack und eingebettete Binärdaten werden passenden Speicherbereichen zugewiesen.

  4. Schritt 4: Abbild prüfen

    Map-Datei und Disassemblierung werden genutzt, um Einstieg, Sprungweiten, Adressen und unerwartete Laufzeitabhängigkeiten zu kontrollieren.

Modul 5: Device Tree, DTB und Hardwarebeschreibung

  1. Schritt 1: Hardwareknoten erfassen

    CPU, Speicher, UART, Timer, Interruptcontroller, Flash, SD-Schnittstelle und reservierte Speicherbereiche werden fachlich geprüft.

  2. Schritt 2: Bootparameter pflegen

    Konsolenpfad, Kernelparameter, Initrd-Bereich und gewählte Knoten werden für die geplante Nutzlast konsistent gesetzt.

  3. Schritt 3: DTB erzeugen und prüfen

    Quellbaum, Includes, Kompilierung, Deassemblierung und strukturelle Plausibilitätsprüfung werden als fester Arbeitsablauf ausgeführt.

  4. Schritt 4: Übergabe verifizieren

    Adresse, Größe, Speicherüberlappung und tatsächlich vom Betriebssystem erkannte Hardware werden mit der Firmwarekonfiguration abgeglichen.

Modul 6: Übergabe an Kernel und Betriebssystem

  1. Schritt 1: Einstiegsvertrag prüfen

    Architekturabhängige Register, Privilegstufe, Interruptzustand, Cachezustand und erwarteter Einstiegspunkt werden festgehalten.

  2. Schritt 2: Speicher freigeben

    Firmwarebereiche, reservierter Speicher, Device Tree, Initramfs und Kernel werden ohne Überlappung an das Betriebssystem übergeben.

  3. Schritt 3: Gerätebeschreibung abstimmen

    Aktivierte Hardware, Konsolenpfad, Speicherkapazität, Interrupts und Bootargumente werden auf Konsistenz geprüft.

  4. Schritt 4: Startnachweis führen

    Letzter Firmwaremarker, erster Kernelmarker, erkannter Speicher, Initialisierung der Konsole und Eintritt in den Userspace werden protokolliert.

Praxisübungen

  • Für eine Beispielplattform eine vollständige Bootflussgrafik erstellen.
  • SRAM-, DRAM-, Flash- und reservierte Bereiche in einer Speicherkarte eintragen.
  • Ein DTFS-orientiertes Firmwareabbild mit Größen- und Überlappungsprüfung planen.
  • Übergaberegister und Speicherbereiche vor dem Kernelstart kontrollieren.
  • Drei typische Fehlerbilder einer konkreten Bootstufe zuordnen.

Methodik

Fachliche Einordnung, kommentierte Demonstrationen und schrittweise Laboraufgaben werden eng miteinander verbunden. Jeder Arbeitsabschnitt beginnt mit einem überprüfbaren Zielzustand, wird anhand von Konsolen-, Build- oder Messdaten kontrolliert und endet mit einer dokumentierten Fehler- oder Abnahmeprüfung. Vorbereitete Negativfälle verhindern, dass ausschließlich der erfolgreiche Idealfall betrachtet wird.

Zielgruppe

Firmwareentwicklung, Plattformarchitektur, Embedded-Linux-Teams, technische Qualitätssicherung und Systemintegration.

Vorkenntnisse

Grundkenntnisse in Rechnerarchitektur, Firmwareaufbau, Binärabbildern und Linux-Bootprozessen. Rust-Codekenntnisse sind hilfreich, aber nicht zwingend.

Fachbereichsleitung und Trainingskoordination

Seminardetails

   
Dauer: 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.198 zzgl. MwSt.
Inhaus: € 3.400 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: Firmwareentwicklung, Plattformarchitektur, Embedded-Linux-Teams, technische Qualitätssicherung und Systemintegration.
Voraussetzungen: Grundkenntnisse in Rechnerarchitektur, Firmwareaufbau, Binärabbildern und Linux-Bootprozessen. Rust-Codekenntnisse sind hilfreich, aber nicht zwingend.
Standorte: Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg
Methoden: Fachvortrag, kommentierte Demonstrationen, schrittweise Laborübungen und dokumentierte Fehleranalyse
Seminararten: Öffentlich, Webinar, Inhouse, Workshop - Durchführung mit Trainer vor Ort; Webinar nur bei ausdrücklicher Festlegung
Durchführungsgarantie: ja, ab 2 Teilnehmern
Sprache: Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlage: Dokumentation auf Datenträger oder als Download
Teilnahmezertifikat: ja, selbstverständlich
Verpflegung: Kalt- und Warmgetränke, Mittagessen wahlweise vegetarisch
Support: 3 Anrufe im Seminarpreis enthalten
Barrierefreier Zugang: an den meisten Standorten verfügbar
  Weitere Informationen unter + 49 (221) 74740055

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.ch All rights reserved.  | Kontakt | Impressum | Nach oben