Embedded-Linux

Für all diejenigen, welche den Einstieg in Embedded-Linux suchen.
Je nach Vorkenntnissen kann die Agenda mit grundlegenden Linux-Basis-Know-How ergänzt werden oder auch auf bereits vorhandene Linux-Kenntnisse aufbauen.
In einem Vorab-Gespräch werden Inhalte und Einstiegsniveau abgestimmt.
Die Kursdauer beträgt ca. 3 bis 5 Tage.

Besonderheit dieses Kurses sind die vielen Praxisbeispiele und Übungen.
Während des Seminars wird ein komplettes Embedded-Linux-System für einen ARM-Single-Board-Computer erstellt — von der Toolchain über Bootloader und Kernel bis zum Root-Filesystem.
Optionale Themen:

  • Bootzeitoptimierung (Init-RAM-FS)
  • Sensoranbindung (GPIO, I2C, SPI)
  • NAND-Boot mit UBI-FS
  • systemd-Konfiguration

Agenda

Entwicklungssystem

Unterschiede Desktop / Server / Embedded
Cross-Toolchain
Buildsysteme: Buildroot vs Yocto

Bootloader

Aufgaben
u-boot, barebox, grub
Konfiguration und Erstellung
Boot von SD-Karte
Optimierung

Linux-Kernel

Boot-Prozess
Kernel-Auswahl (Vanilla / Hersteller)
Device Tree
Konfiguration und Build

Root-Filesystem

Busybox
C-Libraries (glibc, uClibc, musl)
Dienste (cron, ssh)
System V Init
systemd (Units, Services)
Tools (systemctl, journalctl, timedatectl)

Bootzeit optimieren

Init/systemd optimieren
Minimales Root-FS
Tiny Kernel
Module nutzen
Bootloader reduzieren
Init-RAM-FS

Update im Feld

Bootloader Support
Redundante Partitionen
Paketmanagement
Verzeichnissynchronisation