
LFD450 Embedded Linux Entwicklung
Ziele der Schulung
In dieser 4-tägigen Schulung „LFD450 Embedded Linux Entwicklung“ lernen Sie, wie Sie ein vollständiges Embedded-Linux-System von Grund auf entwickeln und an spezifische Hardwareanforderungen anpassen.
Sie erhalten ein fundiertes Verständnis der Linux-Systemarchitektur im Embedded-Kontext und lernen, wie Bootloader, Kernel, Gerätetreiber und Device Trees zusammenwirken. Darüber hinaus erwerben Sie praxisnahe Fähigkeiten zur Erstellung von Cross-Entwicklungsumgebungen sowie zum Aufbau und zur Anpassung von Root-Dateisystemen für ressourcenoptimierte Systeme.
Nach der Schulung sind Sie in der Lage:
- Embedded-Linux-Systeme strukturiert aufzubauen und zu konfigurieren den Linux-Kernel für spezifische Zielplattformen zu kompilieren und anzupassen
- Bootprozesse mit U-Boot und alternativen Mechanismen zu analysieren und zu steuern
- Gerätetreiber und Device-Tree-Strukturen in Embedded-Systeme zu integrieren Cross-Development-Toolchains (z. B. Yocto, Buildroot) effektiv einzusetzen
- Debugging-, Tracing- und Performance-Analyse-Tools im Kernel- und User-Space anzuwenden
Zielgruppe Seminar
- Erfahrene Entwickler
- Programmierer und Ingenieure
Voraussetzungen
- Sicherer Umgang mit Linux-Command-Line-Tools
- Gute Kenntnisse der C-Programmierung
- Erfahrung in der Softwareentwicklung unter Linux oder Unix
- Grundverständnis von Systemarchitektur und Softwarebuild-Prozessen
Lernmethodik
Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.
Seminarinhalt
Einführung
- Ziele
- Wer Sie sind
- The Linux Foundation
- Copyright und keine vertraulichen Informationen
- Linux Foundation Training
- Certification Programs und Digital Badging
- Linux Distributions
- Platforms
- Systemvorbereitung
- Changes in Linux
- Documentation und Links
Vorbemerkungen
- Linux Distributions
- Installation virtual machines
- Vorgehensweisen
- Labs
How to Work in Open Source Software Projects
- Overview on korrektes Contributing
- Know where the Code is coming from: DCO und CLA
- Stay close to Mainline für Security und Quality
- Project Structure verstehen
- Eigene Herausforderungen identifizieren
- Maintainers, Workflows und Methods kennenlernen
- Frühzeitig Feedback einholen und transparent arbeiten
- Schrittweise, nicht große Code-Pakete beitragen
- Ego nicht überbewerten
- Geduldig sein, langfristige Relationships aufbauen, helpful sein
Konzepte für Embedded und Real-Time Systems
- Basics
- Protection Motives
- Standard Solutions (OTS)
- Besonderheiten embedded systems
- Real-Time Operating Systems
- Real-Time Linux
- Unterstützung bei custom Hardware
- Resources
Cross Development Environments: Goals und Needs
- Introduction
- Why ist es schwierig?
- Überlegungen zum Project Goal
- Links zu weiterführenden Discussions
- Labs
Kbuild System
- Introduction
- Kbuild Makefiles
- Kconfig Basics
- Kconfig durchsuchen
Cross Development Toolchain
- Compiler Trio
- Integrierter Cross Compiler von Linux Distributions
- Linaro
- CodeSourcery
- crosstool-ng
- Buildroot
- OpenEmbedded
- Yocto Project
- Clang
- Labs
QEMU
- Was ist QEMU?
- Why QEMU verwenden?
- Emulated Architectures
- Image Formats
- Labs
Booten eines Target Development Boards von uSD
- Warum verwenden wir microSD Cards?
- Software auf eine microSD Card übertragen
- Boot from Flash Storage
- Warum ist die Verwendung von microSD Cards eine schlechte Idee?
- Labs
Booten eines Target Development Boards über Ethernet
- Verwendung virtual Hardware
- Eine einfachere Development Method
- Boot Sequence mit TFTP und NFS root
- Lab Objectives
- Labs
Bootloader und U-Boot
- Boot Code Phases
- Einige GPL BIOS Versions
- Einige GPL Bootloader
- U-Boot
- U-Boot Command Line
- U-Boot Environment
- Labs
Kernel Configuration, Compilation, Boot Process
- Kernel Configuration für Development Board
- Labs
Device Drivers
- Device Types
- Device Nodes
- Character Drivers
- Example
- Labs
Device Trees
- Was sind Device Trees?
- Was Device Trees leisten und was nicht
- Device Tree Syntax
- Device Tree Overview
- Device Tree Bindings
- Device Tree Support in Bootloadern
- Verwendung von Device Tree Daten in Drivers
- Coexistence und Conversion legacy Drivers
- Labs
Target Filesystem Packaging
- Goals embedded Filesystems
- Directory Overview
- Types embedded Filesystems
Create Target Root Filesystem
- Lab Objectives
- Labs
Root Filesystem Options
- SysV Init vs BusyBox Init
- udev vs BusyBox mdev
- systemd
- C Library Selection
- Labs
uClibc Configuration
- Configuration von uClibc für NFS
- Labs
Alternative C Library: musl
- Was ist musl?
- BuildRoot für musl konfigurieren
- Labs
BusyBox Utility Suite Build
- Basic Functionality
- Integriert mit Buildroot
- Labs
Kernel Monitoring und Debugging
- Tracing und Profiling
- ftrace, trace-cmd, Kernelshark
- perf
- Verwendung von perf
- sysctl
- SysRq Keys
- oops Messages
- Kernel Debugger
- debugfs
The Right Size
- Häufig benötigte embedded Components
- Kernel Size Overview
Flash Storage Filesystems (MTD)
- Was sind MTD Devices?
- NAND vs NOR vs eMMC
- Driver und User Modules
- Flash Filesystems
Compressed Filesystems
- SquashFS
- Deployment in MTD Partition
- Labs
System Updates
- Wann ist ein Update erforderlich?
- Update Strategies
- Preconfigured Upgrade Systems
- Labs
Real-Time Extensions
- Predictability, Preemption und Locking
- PREEMPT RT Project
- Real-Time Checklist
Abschluss- und Evaluation Survey
- Evaluation Survey
Kernel Architecture Preview
- Linux und UNIX
- Monolithic und Micro Kernels
- Main Kernel Tasks
- User Space und Kernel Space
Kernel Source Tree Overview
- Installation und Layout Kernel Source Code
- Kernel Browser
- Kernel Configuration Files
- Why ist das so schwierig? Part 2
Kernel Programming Preview
- Coding Style
- Kernel Documentation
- Verwendung generischer Kernel Routines und Methods
- Error Numbers, Kernel Logging, syslogd
- Task Structure
- Memory Allocation
- Data Transfer zwischen User und Kernel Space
Modules
- Was sind Modules?
- Trivial Example
- Modules Compile
- Modules vs Built-in
- Module Utilities
- Automatic Module Loading
- Module Usage Count
- Module Licensing
- Exporting Symbols
- Resolving Symbols
- Labs
Basic Setup eines Target Development Boards
- Lab Objectives
- Labs
Booten eines Target Development Boards von uSD
- Lab Objectives
- Labs
Booten eines Target Development Boards über Ethernet
- Einfachere Development Method
- Boot Sequence mit TFTP und NFS root
- Lab Objectives
- Labs
Hinweise
Prüfung und Zertifizierung
Für diese Schulung steht keine Prüfung zur Verfügung.
Open Badge für dieses Seminar - Ihr digitaler Kompetenznachweis

Durch die erfolgreiche Teilnahme an einem Kurs bei IT-Schulungen.com erhalten Sie zusätzlich zu Ihrem Teilnehmerzertifikat ein digitales Open Badge (Zertifikat) – Ihren modernen Nachweis für erworbene Kompetenzen.
Ihr Open Badge ist jederzeit in Ihrem persönlichen und kostenfreien Mein IT-Schulungen.com-Konto verfügbar. Mit wenigen Klicks können Sie diesen digitalen Nachweis in sozialen Netzwerken teilen, um Ihre Expertise sichtbar zu machen und Ihr berufliches Profil gezielt zu stärken.
Übersicht: Linux Foundation Schulungen Portfolio
Kundenbewertungen
6 Teilnehmende
Gesicherte Kurstermine
| 07.09. - 10.09.2026 | Nürnberg | ||
| 07.09. - 10.09.2026 | Virtual Classroom (online) | ||
| 07.12. - 10.12.2026 | Nürnberg | ||
| 07.12. - 10.12.2026 | Virtual Classroom (online) |
Seminare kurz vor der Durchführung
| 05.07. - 08.07.2027 | Köln |



