Erstellung eines individuellen Embedded-Linux-Systems
Bei der Aufgabe, ein embedded Linux-System zu erstellen fühlt man sich leicht von der Fülle an möglichen Varianten und verfügbaren Paketen erschlagen. Doch was benötige ich wirklich, um die gestellten Anforderungen zu erfüllen? Und wie kann ich diese Anforderungen unter Zuhilfenahme von Open-Source-Software erfüllen?
Dieser Kurs zielt darauf ab, einerseits einen Leitfaden für den Entwurf und das Design des Zielsystems zu geben. Und andererseits die verfügbaren Tools vorzustellen und ihren zielgerichteten Einsatz bei einem Embedded-Linux-System zu vermitteln.
Praktische Fähigkeiten werden in diesem Kurs durch den Aufbau eines Embedded-Linux-Systems, beginnend mit dem Bootloader bis zum Kernel inklusive Root-Filesystem in Form einer den Kurs begleitenden Übung erworben. Dabei wird ein in der Industrie eingesetztes ARM-basiertes Board von der reinen Hardware ohne Software bis zum fertigen Embedded-Linux-System aufgebaut.
Jedem Teilnehmer steht ein Board während des Kurses für die Übung zur Verfügung. Die Übungen sind so plattformneutral gestaltet, dass die erlernten praktischen Fähigkeiten leicht in eigene Projekte transferiert werden können. Es werden ausschließlich öffentlich zugängliche Open-Source-Komponenten, welche über alle gängigen Architekturen hinweg verfügbar sind, eingesetzt.
Der Kurs gliedert sich in vier Teile:
- Komponenten und Design von Embedded-Linux
- Aufbau eines Embedded-Linux-Systems
- Dateisysteme für Embedded-Linux
- Anpassungen und Optimierungen am Embedded-Linux-System
Der Teilnehmer lernt die notwendigen Fähigkeiten, um eigenständig ein Embedded-Linux-System zu erstellen. Die gezeigten Tools stehen beispielhaft und das erlernte Wissen kann leicht auf andere Tools transferiert werden.
Trainer und Dozenten
Andreas Klinger ist selbständiger Trainer und Entwickler. Als Spezialist für Linux beschäftigt er sich mit dem internen Aufbau des Kernels und vor allem mit dessen Einsatz in linuxbasierten Embedded-Systemen.
Als Autor von Fachartikeln und als Referent auf Kongressen vermittelt er Open-Source Software-Technologien.
Voraussetzungen
Der Teilnehmer benötigt solides Grundwissen in der Benutzung der Linux-Shell, um dem Kurs folgen zu können. Teilnehmer ohne Linux-Erfahrungen können dazu die Schulung Linux für Entwickler oder Linux Grundlagen vorbereitend besuchen.
Inhalt
Komponenten und Design von Embedded-Linux
- Unterschied zwischen Embedded- und Desktop-/Server-Linux
- Entwicklungssystem, Cross-Development-Toolchain
- Aufgaben des Bootloaders, U-Boot, barebox und grub
- Anpassungen an individuelles Board
- Erstellung einer SD-Karte für das Target
- Linux-Kernel konfigurieren, erstellen und installieren
- boardspezifische Anpassungen am Kernel durchführen
- Flattened-Device-Tree (FDT) anpassen
- Kernel-Patch erstellen und anwenden
Aufbau des Embedded-Linux-Systems
- Root-Filesystem-Aufbau, notwendige Bestandteile
- Bibliotheken: glibc und uClibc
- Buildsystem für die Generierung: buildroot
- wichtige Dämonen: inetd, Web-Server, SSH-Server, syslogd, crond
- Adaptionen am Zielsystem und dessen Generierung
Dateisysteme für Embedded-Linux
- Raw-Flashes (NAND, NOR): Aufbau, Funktionsweise und Anforderungen
- Flash-Filesysteme: JFFS2, UBIFS
- FTL-Flash mit Controller (CF-Card, USB-Stick, SD-Card, ...)
- Linux-Dateisysteme: ext-FS, squash-FS
- Netzwerk-Filesysteme: NFS, CIFS
- Pseudo-FS: Temp-FS, RAM-FS, procfs, sysfs, debugfs
Embedded-Linux anpassen und optimieren
- Buildtools im Vergleich: yocto und buildroot
- Bootstrategien, Bootzeitoptimierung
- Update-Szenarien, reproduzierbarer Buildvorgang
- Auswahl von Bootloader und Kernel für individuelles Board
- Bewertung von Board-Support-Packages (BSP's)
- Root-Filesystem-Aufbau, notwendige Bestandteile
- Bibliotheken: glibc und uClibc
- Buildsystem für die Generierung: buildroot
- wichtige Dämonen: inetd, Web-Server, SSH-Server, syslogd, crond
- Adaptionen am Zielsystem und dessen Generierung
Dateisysteme für Embedded-Linux
- Raw-Flashes (NAND, NOR): Aufbau, Funktionsweise und Anforderungen
- Flash-Filesysteme: JFFS2, UBIFS
- FTL-Flash mit Controller (CF-Card, USB-Stick, SD-Card, ...)
- Linux-Dateisysteme: ext-FS, squash-FS
- Netzwerk-Filesysteme: NFS, CIFS
- Pseudo-FS: Temp-FS, RAM-FS, procfs, sysfs, debugfs
Embedded-Linux anpassen und optimieren
- Buildtools im Vergleich: yocto und buildroot
- Bootstrategien, Bootzeitoptimierung
- Update-Szenarien, reproduzierbarer Buildvorgang
- Auswahl von Bootloader und Kernel für individuelles Board
- Bewertung von Board-Support-Packages (BSP's)
- Buildtools im Vergleich: yocto und buildroot
- Bootstrategien, Bootzeitoptimierung
- Update-Szenarien, reproduzierbarer Buildvorgang
- Auswahl von Bootloader und Kernel für individuelles Board
- Bewertung von Board-Support-Packages (BSP's)
Kurszeiten
Wer möchte, reist bis 22 Uhr am Vortag an und nutzt den Abend bereits zum Fachsimpeln am Kamin oder im Park.
An Kurstagen gibt es bei uns ab 8 Uhr Frühstück.
Unsere Kurse beginnen um 9 Uhr und enden um 18 Uhr. Dieser Kurs endet am letzten Tag um 16:00 Uhr.
Neben den kleinen Pausen gibt es eine Stunde Mittagspause mit leckerem, frisch in unserer Küche zubereitetem Essen.
Nach der Schulung anschließend Abendessen und Angebote für Fachsimpeln, Ausflüge uvm. Wir schaffen eine Atmosphäre, in der Fachleute sich ungezwungen austauschen. Wer das nicht will, wird zu nichts gezwungen und findet auch jederzeit Ruhe.
Termine und Anmeldung
-
7. Januar 2025, 4 Tage **
Embedded Linux anmelden -
7. Juli 2025, 4 Tage
Embedded Linux anmelden -
15. September 2025, 4 Tage
Embedded Linux anmelden
Haben Sie einen anderen Wunschtermin?