Embedded Linux
Was ist das Yocto Project?
Das Yocto Project ist ein Open-Source-Build-System für maßgeschneiderte Linux-Distributionen auf Embedded- und IoT-Geräten jeder Prozessorarchitektur. Es gehört weltweit zu den am häufigsten eingesetzten Systemen für industrielles Embedded Linux.
Ein Build-System, keine Distribution
Das Yocto Project ist kein fertiges Linux zum Herunterladen und Flashen. Es kompiliert ein Image genau für Hardware und Produkt: Kernel, Bootloader, C-Bibliothek und ausgewählte Pakete. Das gemeinschaftliche Open-Source-Projekt der Linux Foundation wird von vielen Unternehmen unterstützt und unterstützt Arm, x86, RISC-V, PowerPC, MIPS und weitere Architekturen.
- Reproduzierbares Image aus Quellcode für Ihr Board, kein generisches Image
- Jede Architektur: Arm, x86-64, RISC-V, PowerPC, MIPS
- Open Source, herstellerneutral, bei der Linux Foundation
So funktioniert es: BitBake, Rezepte und Layer
Yocto nutzt das OpenEmbedded-Build-System. BitBake liest Rezepte (.bb), die Download, Konfiguration, Kompilierung und Paketierung einer Software beschreiben. Rezepte liegen in kombinierbaren Layern: BSP für das Board, Distribution für Richtlinien, eigener Layer für die Anwendung. Poky ist die Referenzdistribution.
- Rezept (.bb): Quellcode, Lizenz, Build und Paketierung
- Layer: Sammlung von Rezepten und Konfigurationen (meta-*)
- BitBake: Abhängigkeiten, Cross-Kompilierung und sstate-Cache
- Poky: Referenzdistribution und Ausgangspunkt
Warum Teams Yocto verwenden
Ein Produkt mit zehn oder fünfzehn Jahren Lebensdauer benötigt volle Kontrolle über Linux: Pakete, Lizenzen, Sicherheitsupdates und Reproduzierbarkeit aus Quellcode. Yocto bietet diese Kontrolle und wurde deshalb zum De-facto-Standard für professionelles Embedded Linux.
- Volle Kontrolle über Größe, Pakete und Kernel-Konfiguration
- Reproduzierbare Builds, auch Jahre später
- Lizenzkonformität und Software-Stückliste (SBOM)
- Langfristige Wartung und Sicherheitsupdates (CVE-Verfolgung)
Wo Yocto eingesetzt wird
Yocto ist architekturunabhängig und produktionsreif. Es wird weltweit in nahezu jeder Branche eingesetzt, vom Router über Medizingeräte bis zum Infotainment im Auto.
- Automobilindustrie und Elektromobilität
- Industrieautomation und IoT-Gateways
- Netzwerke und Telekommunikation (Router, 5G)
- Medizingeräte
- Luftfahrt und Verteidigung
- Unterhaltungselektronik und Smart Home
- Energie, Messtechnik und Versorgung
- Robotik und Drohnen
Der Kompromiss: Leistung und Komplexität
Diese Kontrolle hat ihren Preis: steile Lernkurve, stundenlange Builds und schwer verständliche BitBake-Fehler mit langen Logs. Die Diagnose erfordert Wissen über Task-Logs, Layer, Konfiguration und bitbake -e.
Wo Yocman hilft
Yocman ist KI-Agent und Werkzeugkasten im Terminal für Ihre realen Yocto Project Builds. Neben Fehlerkorrekturen hilft es, Images zu verstehen, zu prüfen und auszuliefern. Jede Analyse liest vorhandene BitBake-Dateien: Fakten kommen aus dem Build.
- audit
- Ausliefern oder nicht? Ein bewerteter Bericht zu CVEs, Geheimnissen, Konten, Diensten, Kernel-Härtung, Lizenzen und SPDX-SBOM als Build-Nachweise für den CRA.
- cve · secrets
- Noch ungepatchte CVEs im ausgelieferten Image und private Schlüssel oder Token im rootfs: Fundorte werden gemeldet, Inhalte nie angezeigt.
- why · size
- Warum ist dieses Paket im Image? Was belegt Platz? size diff vergleicht zwei Builds paketweise.
- buildtime · sstate
- Build-Zeit, effektive Parallelität und bei jedem Build neu kompilierte Rezepte.
- init · build · flash
- kas-Projekt für ein geprüftes Board starten, mit Live-Fortschritt bauen und Karte mit verpflichtender Geräteprüfung flashen.
- fix · explain
- Fehlgeschlagenen Task diagnostizieren und Patch für Ihren Layer erhalten oder nur die Diagnose; Änderungen erst nach Freigabe.
- Arbeitet auf dem Build-Verzeichnis statt dem Quellbaum: --build-dir akzeptiert auch kopierte oder archivierte Ergebnisse außerhalb des Checkouts.
- Eine Installation für alle Builds und Yocto-Bäume: Ziel mit --build-dir wechseln, Builds mit size diff oder cve diff vergleichen.
- Ihr Build bleibt lokal; nur maskierte Auszüge erreichen die KI. Patches betreffen Ihre Layer, niemals Upstream.
Häufig gestellte Fragen
- Ist das Yocto Project eine Linux-Distribution?
- Nein. Es erzeugt eine angepasste Linux-Distribution für Ihre Hardware. Poky ist die Referenzdistribution als anpassbarer Ausgangspunkt.
- Was unterscheidet Yocto von OpenEmbedded?
- OpenEmbedded liefert Build-System und gemeinsame Rezepte. Das Yocto Project ist das Dachprojekt der Linux Foundation: Es nutzt OpenEmbedded, ergänzt Poky, Releases, Werkzeuge und Tests und koordiniert das Ökosystem.
- Was ist BitBake?
- BitBake führt die Build-Tasks aus: Rezepte lesen, Abhängigkeiten auflösen, Quellen holen, konfigurieren, kompilieren und Pakete für das Zielsystem erstellen.
- Was ist ein Layer in Yocto?
- Ein Layer (meta-*-Verzeichnis) bündelt Rezepte und Konfiguration. Layer trennen Board-Unterstützung, Distributionsrichtlinien und Anwendung und machen sie wiederverwendbar.
- Yocto oder Buildroot?
- Beide bauen Embedded Linux aus Quellcode. Buildroot ist für kleine feste Images einfacher und schneller; Yocto ist komplexer, skaliert aber besser für langlebige Produkte mit Paketverwaltung sowie strikten Lizenz- und Update-Anforderungen.
- Ist das Yocto Project kostenlos?
- Ja. Es ist Open Source und kostenlos nutzbar. Yocto Project ist eine Marke der Linux Foundation.
Offizielle Ressourcen
Yocto Project® und das Logo sind eingetragene Marken der Linux Foundation. Yocman ist unabhängig und weder mit dem Yocto Project noch mit der Linux Foundation verbunden, gesponsert oder von diesen unterstützt.