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 die Inhalte und das
Einstiegsniveau entsprechend abgestimmt.
Dementsprechend ist die Kursdauer mit 3 - 5 Tagen zu
veranschlagen.
Besonderheit an diesem Kurs sind die vielen Praxisbeispiele und
Übungen.
So wird während des Seminars ein komplettes
Embedded-Linux-System für einen ARM-Single-Board-Computer
beginnend bei der Toolchain über den Bootloader, Linux-Kernel
und Root-Filesystem erstellt.
Optional werden Übungen zu Spezialthemen angeboten:
- Bootzeitoptimierung: Init-RAM-FS-Boot
- Anbindung von Sensoren mit GPIO, I2C, SPI
- Booten von NAND mit UBI-FS
- Konfiguration von systemd
Agenda
Entwicklungssystem
Unterschiede zwischen Desktop-, Server- und Embedded-Linux
Cross-Development-Toolchain
Buildsysteme im Vergleich: buildroot und yocto
Bootloader
Aufgaben des Bootloaders
Bootloader u-boot, barebox und grub
Konfiguration und Erstellung
Booten von SD-Karte
Reduzierung des Bootloaders
Linux-Kernel
Kernel-Boot-Prozeß
Auswahl des Kernels (Vanilla, Manufacturer)
Device-Tree
Konfiguration, Erstellung und Installation
Root-Filesystem
Schlankes Root-Filesystem: busybox
C-Library (glibc, uClibc, musl)
Dämonen (cron, ssh)
System-V-Init-Verfahren
systemd (Units, Einbindung eigener Dienste)
systemd-Tools (systemctl, journalctl, timedatectl)
Bootzeit optimieren
Init- / systemd-Prozeß optimieren
Minimalst-Root-Filesystem
Konfiguration eines "tiny"-Kernels
Kernel-Module nutzen
Bootloader reduzieren
Init-RAM-FS-Bootverfahren
System-Update im Feld
Bootloader-Unterstützung
Redundante Update-Partitionen
Paketverwaltung nutzen
Synchronisierung von Verzeichnissen