Seminar oreboot Kompaktseminar: Architektur, Build und Boot bis Linux

Seminar / Training

Inhaltsverzeichnis

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

Einordnung

Das Kompaktseminar vermittelt den vollständigen Zusammenhang von Architektur, Entwicklungsumgebung, Build, QEMU-Test, Bootstufen, Speicherlayout, Device Tree, SBI und Linuxstart. Tiefe Board-Portierung und DRAM-Tuning werden bewusst ausgeklammert, damit ein tragfähiger Überblick mit praktischer Anwendung entsteht.

Kompetenzziele

  • oreboot-Architektur und Einsatzgrenzen in kurzer Form einordnen.
  • Eine Buildumgebung einrichten und ein Mainboardziel analysieren.
  • Bootstufen, Speicherlayout, DTFS und Device Tree zusammenführen.
  • Firmware in QEMU starten und typische Fehler diagnostizieren.
  • SBI- und Linuxübergabe anhand eines End-to-End-Laufs prüfen.

Seminarinhalte

Modul 1: Einsatzbild und Entscheidungsrahmen

  1. Schritt 1: Anforderungen erfassen

    Startzeit, kontrollierbarer Quellcode, unterstützte Architektur, Wiederherstellbarkeit und betriebliche Nachweise werden als messbare Kriterien dokumentiert.

  2. Schritt 2: Systemgrenzen bestimmen

    Boot-ROM, frühe Firmware, DRAM-Initialisierung, SBI-Schicht, Payload und Betriebssystem werden getrennt betrachtet, damit Zuständigkeiten eindeutig bleiben.

  3. Schritt 3: Eignung bewerten

    Vorhandene Board-Unterstützung, verfügbare Hardwaredokumentation, Laborzugang und Wartungskapazität werden gegen die Zielplattform geprüft.

  4. Schritt 4: Einführungsweg festlegen

    Für Evaluierung, Prototyp, Pilot und produktiven Einsatz werden Abnahmepunkte, Rückfalloptionen und verantwortliche Rollen definiert.

Modul 2: Quellbaum, Mainboards und Build-Zusammenhang

  1. Schritt 1: Verzeichnisstruktur lesen

    Workspace, Architekturcode, SoC-Unterstützung, Mainboard-Verzeichnisse, Bibliotheken und Werkzeuge werden funktional zugeordnet.

  2. Schritt 2: Boardpfad nachvollziehen

    Die Trennung von früher Stufe und Hauptstufe sowie die Rollen von Cargo-Konfiguration, Linkerskript, Build-Skript und Makefile werden untersucht.

  3. Schritt 3: Abhängigkeiten prüfen

    Crates, Features, Zielarchitektur und lokale Pfade werden auf Reproduzierbarkeit, unnötige Kopplung und Plattformabhängigkeit geprüft.

  4. Schritt 4: Änderungsumfang planen

    Neue Treiber, SoC-Bausteine, Boarddateien, Dokumentation und Tests werden als getrennte, reviewfähige Arbeitspakete vorbereitet.

Modul 3: Entwicklungsumgebung und Rust-Toolchain

  1. Schritt 1: Werkzeugbestand erfassen

    Rust-Toolchain, Cross-Compiler, Binutils, Device-Tree-Compiler, Emulator, serielle Werkzeuge und Flash-Hilfen werden versioniert dokumentiert.

  2. Schritt 2: Zielplattform einrichten

    Target-Spezifikation, Runner, Linker, Rust-Quellenkomponenten und benötigte Cargo-Erweiterungen werden reproduzierbar konfiguriert.

  3. Schritt 3: Build-Umgebung isolieren

    Pfadabhängigkeiten, Umgebungsvariablen, Cache-Verhalten und lokale Werkzeuge werden so festgelegt, dass mehrere Arbeitsplätze gleiche Artefakte erzeugen.

  4. Schritt 4: Diagnose durchführen

    Fehlende Targets, Linkerfehler, inkompatible Nightly-Funktionen und Werkzeugsuchpfade werden anhand eines systematischen Prüfablaufs eingegrenzt.

Modul 4: Build, Artefakte und Reproduzierbarkeit

  1. Schritt 1: Boardziel auswählen

    Mainboard, Architektur, Feature-Satz, Payload und Ausgabeziel werden in einem nachvollziehbaren Build-Aufruf zusammengeführt.

  2. Schritt 2: Zwischenprodukte untersuchen

    ELF-Dateien, Binärabbilder, Map-Dateien, Disassemblierung und Größeninformationen werden den Bootstufen zugeordnet.

  3. Schritt 3: Layout kontrollieren

    Startadressen, Sektionen, Ausrichtung, BSS, Stack, eingebettete Daten und freie Bereiche werden gegen das geplante Speicherlayout geprüft.

  4. Schritt 4: Buildvergleich etablieren

    Hashwerte, Werkzeugversionen, Buildprotokoll und deterministische Parameter werden für wiederholbare Ergebnisse erfasst.

Modul 5: QEMU-Emulation und kontrollierter Erststart

  1. Schritt 1: Maschinenmodell vorbereiten

    CPU, Arbeitsspeicher, Firmwareabbild, serielle Konsole, Laufwerke und Payload werden als reproduzierbares Emulationsprofil festgelegt.

  2. Schritt 2: Bootausgabe beobachten

    Frühe Marker, UART-Ausgabe, SBI-Meldungen, Device-Tree-Übergabe und Kernelstart werden einer erwarteten Sequenz gegenübergestellt.

  3. Schritt 3: Fehler gezielt erzeugen

    Fehlende Payload, falsche Adresse, beschädigtes Dateisystem und ungültiger Device Tree werden als Negativfälle getestet.

  4. Schritt 4: Testlauf automatisieren

    Timeout, erwartete Konsolenmuster, Rückgabestatus und Artefaktsicherung werden in einen wiederholbaren Testschritt überführt.

Modul 6: 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 7: 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 8: 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 9: SBI und RustSBI als Übergabeschicht

  1. Schritt 1: SBI-Rolle festlegen

    Timer, Interprozessorunterbrechung, Systemreset, Hartzustand und herstellerspezifische Erweiterungen werden zwischen Firmware und Supervisor getrennt.

  2. Schritt 2: Plattformadapter anbinden

    Timerquelle, Interruptmechanismus, Resetpfad und Konsolenausgabe werden in die SBI-Implementierung integriert.

  3. Schritt 3: Übergaberegister setzen

    Hart-ID, Device-Tree-Zeiger, Supervisor-Einstieg, Statusregister und Delegationen werden vor dem Moduswechsel verifiziert.

  4. Schritt 4: SBI-Aufrufe prüfen

    Kernelanforderungen, Fehlercodes, nicht unterstützte Erweiterungen und Systemreset werden mit reproduzierbaren Tests bewertet.

Modul 10: Ü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

  • Quellbaum und Mainboardstruktur anhand eines Beispielziels nachvollziehen.
  • Reproduzierbaren Build erzeugen und ELF, Map-Datei sowie Binärabbild prüfen.
  • Speicherkarte und DTFS-Inhalt für Device Tree und Payload planen.
  • QEMU-Boot bis SBI und Kernelstart durchführen.
  • Einen vorbereiteten Adress- oder Device-Tree-Fehler finden und korrigieren.

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

Firmware- und Embedded-Linux-Entwicklung, technische Architektur, Systemintegration und Teams, die in kurzer Zeit einen vollständigen Überblick mit Praxis benötigen.

Vorkenntnisse

Grundkenntnisse in Linux, Git und systemnaher Entwicklung. Rust-Grundlagen und Verständnis von Rechnerarchitektur erleichtern die Übungen.

Fachbereichsleitung und Trainingskoordination

Seminardetails

   
Dauer: 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.797 zzgl. MwSt.
Inhaus: € 5.100 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: Firmware- und Embedded-Linux-Entwicklung, technische Architektur, Systemintegration und Teams, die in kurzer Zeit einen vollständigen Überblick mit Praxis benötigen.
Voraussetzungen: Grundkenntnisse in Linux, Git und systemnaher Entwicklung. Rust-Grundlagen und Verständnis von Rechnerarchitektur erleichtern die Übungen.
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
München 3 Tage
Friedrichshafen 3 Tage
Kassel 3 Tage
Ulm 3 Tage
Münster 3 Tage
Nürnberg 3 Tage
Köln 3 Tage
Wuppertal 3 Tage
Bremen 3 Tage
Berlin 3 Tage
Mainz 3 Tage
Erfurt 3 Tage
Darmstadt 3 Tage
Frankfurt 3 Tage
Paderborn 3 Tage
Essen 3 Tage
Konstanz 3 Tage
Freiburg 3 Tage
Potsdam 3 Tage
Flensburg 3 Tage
Leipzig 3 Tage
Hamm 3 Tage
Rostock 3 Tage
Hamburg 3 Tage
Luxemburg 3 Tage
Hannover 3 Tage
Stuttgart 3 Tage
Dresden 3 Tage
Madgeburg 3 Tage
Regensburg 3 Tage
Jena 3 Tage
Trier 3 Tage
München 3 Tage
Friedrichshafen 3 Tage
Kassel 3 Tage
Ulm 3 Tage
Münster 3 Tage
Nürnberg 3 Tage
Köln 3 Tage
Wuppertal 3 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.de All rights reserved. | Kontakt | Impressum | Nach oben