Was ist das Yocto Project?
Das Yocto Project ist ein Open-Source-Projekt, das Werkzeuge und Methoden bereitstellt, um maßgeschneiderte Linux-Distributionen für Embedded Systems zu erstellen. Statt eine Allzweck-Distribution wie Ubuntu zu verwenden, kann mit Yocto ein auf die Hardware und Anwendung zugeschnittenes Linux-System gebaut werden.
Warum Yocto?
| Standard-Linux (z.B. Ubuntu) | Yocto-Linux |
|---|
| Großer Footprint (GBs) | Minimaler Footprint (MBs–wenige GBs) |
| Viele unnötige Pakete | Nur gewünschte Pakete |
| Generische Konfiguration | Hardware-optimiert |
| Sicherheitsrisiko durch Bloat | Reduzierte Angriffsfläche |
Kernkomponenten
| Komponente | Funktion |
|---|
| BitBake | Build-Engine, die Rezepte abarbeitet |
| OpenEmbedded Core | Basis-Layer mit Kernrezepten |
| Rezepte (.bb) | Beschreiben, wie ein Paket gebaut wird |
| Layer | Organisationseinheiten für Rezepte (BSP-Layer, Meta-Layer) |
| Poky | Referenzdistribution für den Einstieg |
Typischer Workflow
- Hardware-Layer wählen: BSP (Board Support Package) für die Ziel-Hardware einbinden
- Konfiguration: Gewünschte Pakete, Kernel-Optionen und Features definieren
- Build: BitBake kompiliert alles zu einem Image
- Flash: Das Image wird auf die Zielhardware geflasht (SD-Karte, eMMC, NOR-Flash)
- Test: System auf der Hardware booten und validieren
Einsatzgebiete
- Fahrzeug-HMIs: Maßgeschneidertes Linux für Qt/QML-Oberflächen auf Nutzfahrzeugen
- IoT-Gateways: Schlanke Linux-Systeme für Datensammlung und -weiterleitung
- Industriesteuerungen: Embedded Linux für Prüfstände und Maschinensteuerungen
- Medizintechnik: Zertifizierbare, reproduzierbare Linux-Builds
Vorteile
- Maßgeschneidert: Exakt die Software, die benötigt wird – nicht mehr
- Reproduzierbar: Identische Builds über Jahre hinweg
- Langzeit-Support: Sicherheits-Updates für Industrieprodukte über Jahrzehnte
- Community: Große, aktive Open-Source-Community mit vielen fertigen Layers