Schwerpunkte
Grundlagen und Organisation der Linux-Kernel-Entwicklung (Versionierung, Homepage, als Modul einkompiliert vs. fest einkompiliert)
Einführung in Toolchain (gcc, make, Kernel-Build-System, git, patch, make-kpkg für Debian als Spezialfall)
User-Level-Driver (Portzugriff)
Kernel-Level-Driver (Treibermodell, Hardware-Zugriff)
Einführung Kernel-Treiber, Interrupthandling (Blocking-IO, Tasklet, Workqueue, Timer), Linux Kernel Module, Virtual File System
Grundlagen und Beeinflussung des Scheduling (Prozesse, Threads)
FUSE, Filesysteme im Userspace
Latenzzeiten von Linux
Echtzeitaspekte von Standard-Linux
Einführung in Hard-Realtime mit Xenomai und RT-Linux: Konzepte, Programmiermodell, Timer, Interprozess-Kommunikation
Kernel für Embedded Linux
Root-Dateisystem, FHS
Embedded-Boot-Mechanismen, Bootloader
Flashen der Hardware (TFTP, BOOTP)
Embedded Filesysteme (SquashFS, CramFS, JFFS2)
Bootvorgang des Kernels und des init-Dämons
Verfügbare Tools (Cross-Compiling, Busybox, uClibc)
Linux auf Flash installieren (Anpassungen, Besonderheiten)