Embedded-Linux-Entwicklung mit dem Yocto-Projekt
Was ist das Yocto-Projekt?
Das Yocto-Projekt ist ein Open-Source-Kollaborationsprojekt der Linux Foundation, das Entwicklern hilft, maßgeschneiderte Linux-basierte Systeme zu erstellen – unabhängig von der zugrunde liegenden Hardwarearchitektur. Ein individuell angepasstes Linux-BSP kann zudem die Leistung eingebetteter Geräte optimieren und die Hardwareintegration vereinfachen.
Das Yocto-Projekt bietet eine flexible Sammlung von Tools und eine Community-gestützte Plattform, auf der Embedded-Entwickler weltweit Technologien, Software-Stacks, Projektkonfigurationen, Tools, Pakete und Best Practices austauschen können. Diese Ressourcen können verwendet werden, um maßgeschneiderte Linux-Images für Embedded-Geräte oder überall dort zu erstellen, wo ein angepasstes Linux-Betriebssystem (OS) erforderlich ist.
Das Yocto-Projekt besteht aus verschiedenen Schichten von Skripten (Layer-Modell), die zur Konfiguration des endgültigen Images verwendet werden. Diese Schichten können je nach Bedarf hinzugefügt oder entfernt werden. Viele Layer sind online verfügbar, was die Entwicklung neuer Boards erleichtert – insbesondere, wenn die Layer von den Board-Herstellern selbst bereitgestellt werden.
Poky ist eine Referenzdistribution innerhalb des Yocto-Projekts. Sie bietet einen Ausgangspunkt für die Erstellung benutzerdefinierter Linux-Distributionen mithilfe der Tools und Metadaten des Yocto-Projekts. Poky enthält eine Sammlung von Tools, Kernpaketen und Metadaten wie BitBake, die Build-Engine, und OpenEmbedded-Core, das Kern-Build-System mit den zentralen Metadaten.
Neben der Erstellung vollständiger System-Images im gewünschten Format ermöglicht das Yocto-Projekt auch eine feingranulare Generierung einzelner Komponenten – wie Bootloader, Kernel, Root-Dateisystem und Toolchain.
Das Yocto-Projekt bietet eine flexible Sammlung von Tools und eine Community-gestützte Plattform, auf der Embedded-Entwickler weltweit Technologien, Software-Stacks, Projektkonfigurationen, Tools, Pakete und Best Practices austauschen können. Diese Ressourcen können verwendet werden, um maßgeschneiderte Linux-Images für Embedded-Geräte oder überall dort zu erstellen, wo ein angepasstes Linux-Betriebssystem (OS) erforderlich ist.
Das Yocto-Projekt besteht aus verschiedenen Schichten von Skripten (Layer-Modell), die zur Konfiguration des endgültigen Images verwendet werden. Diese Schichten können je nach Bedarf hinzugefügt oder entfernt werden. Viele Layer sind online verfügbar, was die Entwicklung neuer Boards erleichtert – insbesondere, wenn die Layer von den Board-Herstellern selbst bereitgestellt werden.
Poky ist eine Referenzdistribution innerhalb des Yocto-Projekts. Sie bietet einen Ausgangspunkt für die Erstellung benutzerdefinierter Linux-Distributionen mithilfe der Tools und Metadaten des Yocto-Projekts. Poky enthält eine Sammlung von Tools, Kernpaketen und Metadaten wie BitBake, die Build-Engine, und OpenEmbedded-Core, das Kern-Build-System mit den zentralen Metadaten.
Neben der Erstellung vollständiger System-Images im gewünschten Format ermöglicht das Yocto-Projekt auch eine feingranulare Generierung einzelner Komponenten – wie Bootloader, Kernel, Root-Dateisystem und Toolchain.
Die wichtigsten Herausforderungen beim Yocto-Projekt für Embedded Linux

Komplexität der Domäne
Die Entwicklung in einer Yocto-Umgebung setzt voraus, dass das Entwicklerteam bereits sicher im Umgang mit folgenden Themen ist: der Linux-Umgebung, gängigen Embedded-Linux-Distributionen und Systemkomponenten (Boot-Sequenz, Softwarepakete, Kernel-Konfiguration, Device Tree usw.) sowie hardwarebezogener Entwicklung (der Entwickler muss die Funktionalität jedes Hardware-Bausteins im eingebetteten System sicherstellen, z. B. nichtflüchtiger Speicher, externe Peripheriegeräte und Komponenten).

Einarbeitungskurve im Yocto-Projekt
Das Build-System des Yocto-Projekts ist äußerst flexibel und anpassbar, bringt jedoch eine steile Lernkurve mit sich. Es gibt viele verschiedene Möglichkeiten, ähnliche Aufgaben zur Erstellung maßgeschneiderter Linux-basierter Systeme zu lösen. Dabei kann es schwierig sein, den richtigen Ansatz zu wählen und gleichzeitig die Codebasis des Build-Systems sauber und langfristig wartbar zu halten. Bevor Sie sich entscheiden, Ihr Team in den Umgang mit den Tools des Yocto-Projekts einzuarbeiten, sollten Sie mit einer Einarbeitungszeit von mindestens einem Jahr für das Yocto-Projekt im Bereich Embedded Linux rechnen.

Das Verständnis der erforderlichen Änderungen erfordert Recherche
Über die einfache Tutorial-Phase hinaus, in der eine benutzerdefinierte Linux-Distribution mit dem Yocto-Projekt erstellt wird, kann das Verständnis der notwendigen Änderungen für ein bestimmtes Design einen erheblichen Recherche- und Analyseaufwand erfordern. Das Yocto Mega Manual des Open-Source-Kollaborationsprojekts ist dabei hilfreich, doch nur die Erfahrung und Expertise erfahrener Embedded-Entwickler kann die Entwicklungszeit Ihres Projekts wirklich verkürzen.
Wichtige Aspekte, die Sie für Ihre Yocto-Linux-Entwicklungen berücksichtigen sollten
Maschinen - konfiguration
Dies sind alle Hardware-Beschränkungen, die zur Definition einer Yocto-Maschine erforderlich sind:
- Welcher MPU-Hersteller wird verwendet? Welche Referenzfamilie?
- Welche Peripheriegeräte sind mit Ihrer Memory Protection Unit (MPU) verbunden?
- Wie ist der Speicher konfiguriert?
- Cybersecurity-Anforderungen: Secure Boot, Trusted Elements, Verschlüsselung, …
Embedded-Linux-Distribution
Diese Elemente definieren die Richtlinien für die Build-Konfiguration:
- Version des Linux-Kernels
- Partitionen und Dateisystemtyp
- Service-Management (System, …)
Konfiguration des Linux-Kernel-Images
Inhalt des finalen Images, das auf die Embedded- und IoT-Geräte geflasht wird:
- Finaler Anwendungs-Build
- Alle erforderlichen Abhängigkeiten
- In der Regel werden für ein einzelnes Projekt mindestens drei Embedded-Linux-Images definiert: Entwicklung, Test und Produktion
SUCCESS STORY
W. H. Leary Co. optimiert ein automatisiertes Industriesystem mit Yocto
W. H. Leary musste sein Betriebssystem und den Kernel aufgrund eines abgekündigten Prozessors und Betriebssystems migrieren. Die Monet-Plattform – die das erstklassige Verpackungsherstellungssystem des Unternehmens automatisiert – ist ein wesentlicher Bestandteil des Leistungsangebots, weshalb besondere Sorgfalt erforderlich war, um Benutzerfreundlichkeit und Langlebigkeit des Build-Systems sicherzustellen. Nach einer intensiven Beratungs- und Workshop-Phase entschied sich W. H. Leary für das Architekturkonzept und das Entwicklungsteam von Witekio, um Folgendes umzusetzen:
- Neugestaltung eines Echtzeitverarbeitungssystems von der untersten Ebene an
- Yocto-BSP-Entwicklung, Betriebssystemmigration und Unterstützung bei der Sprachlokalisierung
- GUI-Integration für ein nahtloses Benutzererlebnis
- Optimierung und Dokumentation des Embedded-Linux-Systems
Witekio kann Sie unterstützen bei Ihren Yocto-Linux-Entwicklungen
Zehn Jahre Erfahrung. Hunderte erfolgreich realisierte Produkte. Enge Zusammenarbeit mit der Open-Source-Community. Mitglied der Linux Foundation. Unser tiefgehendes Wissen über Yocto Linux ist unübertroffen. Deshalb wird Witekio immer wieder gewählt, um Embedded-Linux-Produkte erfolgreich auf den Markt zu bringen.
Wir entwickeln Yocto-basierte Lösungen, die exakt auf die Anforderungen Ihres Embedded-Linux-Projekts abgestimmt sind. Ob Leistungsoptimierung, Sicherstellung der Software-Compliance oder Effizienzsteigerung Ihrer Entwicklungszyklen – unsere Expertise garantiert das bestmögliche Ergebnis für Ihr Projekt. Arbeiten Sie mit Witekio zusammen, um Ihre Yocto-basierten Embedded- und IoT-Geräte auf das nächste Level zu heben.
Wir entwickeln Yocto-basierte Lösungen, die exakt auf die Anforderungen Ihres Embedded-Linux-Projekts abgestimmt sind. Ob Leistungsoptimierung, Sicherstellung der Software-Compliance oder Effizienzsteigerung Ihrer Entwicklungszyklen – unsere Expertise garantiert das bestmögliche Ergebnis für Ihr Projekt. Arbeiten Sie mit Witekio zusammen, um Ihre Yocto-basierten Embedded- und IoT-Geräte auf das nächste Level zu heben.
Unsere Embedded-Software-Expertise

Ihr vertrauenswürdiger Partner für Embedded-Software, Anwendungen und Konnektivität
4 Länder
4 Länder
ISO 27001 zertifiziert
ISO 27001 zertifiziert
