Embedded-Linux-Schulung: vom Bootloader bis zur eigenen Anwendung
Zwei Tage, nach denen ein Embedded-Linux-System keine Blackbox mehr ist. Wir gehen die Kette vom Einschalten bis zur laufenden Anwendung einmal komplett durch – und zwar an echter Hardware, nicht an Folien.
- Niveau
- Einsteiger
- Dauer
- 2 Tage
- Formate
- Inhouse · Remote
Schwerpunkte
- Boot-Prozess & U-Boot
- Kernel & Device Trees
- Root-Dateisysteme
- Cross-Compilation
Für wen diese Schulung gedacht ist
Für Entwickler, die bisher auf dem Desktop oder auf Mikrocontrollern gearbeitet haben und nun ein Produkt auf Embedded Linux betreuen sollen. Ebenso für Teams, die ein fertiges System vom Hersteller übernommen haben und es zwar bedienen, aber nicht wirklich durchschauen.
Der typische Auslöser: Irgendetwas geht beim Booten schief, im Log stehen Meldungen, die niemand einordnen kann, und es fehlt das Modell, um systematisch zu suchen statt zu raten.
Inhalte
Tag 1 – Die Kette vom Einschalten bis zur Shell. Was der SoC beim Start tut, welche Rolle Boot-ROM und SPL spielen, und wo U-Boot ansetzt. Wir arbeiten in der U-Boot-Kommandozeile, laden Kernel und Device Tree von Hand und verstehen dabei, was der Bootloader dem Kernel eigentlich übergibt. Anschließend der Kernel selbst: Konfiguration, Module gegen fest eingebaut, und der Device Tree als Beschreibung der Hardware – warum ein Treiber schweigt, wenn dort etwas nicht stimmt.
Tag 2 – Vom Root-Dateisystem zur eigenen Anwendung. Aufbau eines Root-Dateisystems, Init-Systeme und Startreihenfolge, read-only-Root und warum er für Geräte oft die robustere Wahl ist. Cross-Compilation: Toolchain, Sysroot, die typischen Stolpersteine beim Linken. Wir bringen eine eigene Anwendung auf das Board und nehmen sie in Betrieb – inklusive Fehlersuche über serielle Konsole, dmesg und strace.
Was Ihr Team danach kann
Einen Bootvorgang lesen und die Phase benennen, in der es hakt. Einen Device-Tree-Knoten ergänzen und prüfen, ob der Treiber ihn tatsächlich bindet. Eine Anwendung cross-kompilieren und auf dem Zielsystem zum Laufen bringen. Und vor allem: bei einem Problem entscheiden, ob es im Bootloader, im Kernel, im Dateisystem oder in der Anwendung liegt – die Fähigkeit, die den Unterschied zwischen einer Stunde und drei Tagen Fehlersuche ausmacht.
Voraussetzungen
Programmierkenntnisse in C oder C++. Grundlagen der Linux-Kommandozeile. Kein Vorwissen zu Embedded-Systemen nötig.
Format und Ablauf
Zwei Tage, inhouse bei Ihnen oder remote. Wir arbeiten an Entwicklungsboards, sodass serielle Konsole, Flashen und Bootvorgang real erlebbar sind – gerade beim Bootloader ist das durch nichts zu ersetzen.
Häufig wird diese Schulung als Einstieg gebucht und die Yocto-Schulung direkt im Anschluss: erst verstehen, wie das System funktioniert, dann lernen, wie man es selbst baut.
Häufige Fragen
- Ist die Schulung für Einsteiger geeignet?
- Ja, das ist ihr Zweck. Vorausgesetzt werden Programmierkenntnisse in C oder C++ und Grundlagen der Linux-Kommandozeile. Erfahrung mit Embedded-Systemen ist willkommen, aber nicht nötig – wir bauen das Systemverständnis von unten auf.
- Was unterscheidet diese Schulung von der Yocto-Schulung?
- Diese Schulung erklärt, wie ein Embedded-Linux-System funktioniert; die Yocto-Schulung erklärt, wie man eine eigene Distribution dafür baut. Wer beides braucht, belegt sie nacheinander – dann sind fünf Tage ein sinnvoller Rahmen und der Übergang ist nahtlos.
- Arbeiten wir auf echter Hardware?
- Ja. Wir arbeiten auf Entwicklungsboards, damit Boot-Vorgang, serielle Konsole und Flash-Zugriff nicht simuliert bleiben. Wenn Sie Ihre eigene Zielplattform einsetzen möchten, stimmen wir das vorab ab.
- Bekommen wir Schulungsunterlagen zum Nachschlagen?
- Ja, Ihr Team behält die Übungsanleitungen und Beispiele. Die Übungen sind so aufgebaut, dass sie später als Referenz taugen – die meisten Teilnehmer greifen im Alltag genau darauf zurück.
Fachartikel zum Thema
Vertiefendes aus unserem Blog – dieselben Themen, ausführlich.
Device Tree in der Praxis: Hardware beschreiben, statt Treiber zu raten
Wie der Device Tree in Embedded-Linux-Projekten wirklich funktioniert: compatible-Matching, pinctrl und Clocks, Overlays für Gerätevarianten und die Debug-Rezepte, mit denen sich Bring-up-Probleme eingrenzen lassen.
- Embedded Linux
- Device Tree
- Kernel
Boot-Zeit von Embedded Linux optimieren: messen, bevor Sie schrauben
Von Power-on bis zum ersten Bild: wie Sie die Boot-Zeit eines Embedded-Linux-Geräts belastbar messen und in Bootloader, Kernel und User-Space die Hebel finden, die tatsächlich Sekunden bringen.
- Embedded Linux
- Boot-Zeit
- Performance
Echtzeit mit Linux: was PREEMPT_RT leistet – und was nicht
Determinismus statt Tempo: wie PREEMPT_RT Linux echtzeitfähig macht, wie Sie Latenzen mit cyclictest belastbar messen und welche System- und Anwendungsfehler jede Konfiguration wieder zunichtemachen.
- Echtzeit
- PREEMPT_RT
- Embedded Linux
Weitere Schulungen
Modernes C++
Von Move-Semantik über Smart Pointer bis zu den Neuerungen aus C++20/23: Schreiben Sie sicheren, ausdrucksstarken und performanten modernen C++-Code.
3 TageQt & QML in der Praxis
Der praxisnahe Einstieg in die Qt-Welt: Aufbau von Anwendungen mit Qt Quick und QML, Anbindung von C++-Logik und Gestaltung performanter Benutzeroberflächen.
3 TageYocto Project Intensiv
Bauen Sie Ihre eigene Linux-Distribution mit dem Yocto Project: BitBake, eigene Layer und Rezepte, Image-Anpassung und reproduzierbare Builds in der CI.
2 TageGit & Versionsverwaltung
Versionsverwaltung, die im Team trägt: Branching-Strategien, saubere Historie, Code-Review-Abläufe und der Umgang mit den Situationen, in denen Git wehtut.
Diese Schulung für Ihr Team?
Sagen Sie uns kurz, wie viele Teilnehmer, welcher Stand und welcher Zeitrahmen – wir machen Ihnen einen Vorschlag samt Terminen.
Projekt anfragen