
Projekt
Vollständiges Yocto Projekt
Vorbereitung eines kundenspezifisches Linux-Images
CPU
ARM
Hersteller
NXP
OS
Linux
Kompetenzen
Linux
Yocto
C/C++
CODESYS runtime
Projektgröße:
Schwierigkeit:
Anfrage/Problem:
Der Kunde will ein Linux-Image mit definierten Einstellungen (Netzwerkkonfiguration, Echtzeit) und Komponenten (CODESYS, QT) erstellen lassen. Da es verschiedene kundenspezifische Versionen des Gerätes gibt (verschiedene Arten von Touch-Funktionen (resistiv und kapazitiv), verschiedene CPU-Module und verschiedene Peripheriegeräte), musste Yocto so vorbereitet werden, dass der Kunde selbstständig das Build und die Wartung übernehmen kann.
Lösungsansatz:
Wir haben das Repository vorbereitet, das mehrere Yocto-Ebenen enthält. Ein solches Repository enthält auch verschiedene Konfigurationsdateien, mit denen verschiedene Arten von Images erstellt werden können. Alle Änderungen, d. h. die Aktivierung des Echtzeit-Linux-Kernels, wurden von Yocto mithilfe von Patches automatisch übernommen.
Mit Yocto wurden verschiedene Build-Konfigurationen erstellt, und das Image kann je nach Hardware-/Gerätetyp vom Kunden erstellt werden. Dank eines solchen Ansatzes wurde die Softwarewartung für jeden Gerätetyp erleichtert und mögliche Fehler reduziert.
Darüber hinaus wurden Standardkomponenten und -dienste entfernt, um die Bootup Zeit zu verkürzen.
Architektur:

Beschreibung der Architektur:
- Git-Repository 1 - enthält die Liste aller Repositories und Layers, die für das Geräte-Image verwendet werden sollen. Die Build-Umgebung wird vom Tool "repo" basierend auf diesem Repository vorbereitet
- Git-Repository 2 - enthält Yocto-Layers mit verschiedenen Rezepten zum Anpassen des Bildes:
- Rezepte-Bilder - Definieren, welche Pakete für das Bild und spezielle Build-Parameter verwendet werden sollen
- Rezepte-bsp - U-boot-Konfiguration und Erweiterungen für Toradex Easy Installer
- Rezept-Kern - Konfiguration von systemd
- Rezepte erweitert - Installation und Konfiguration von CODESYS
- Rezepte-Kernel - Linux-Kernel-Konfiguration und Erweiterungen. Es wird ein Linux-Kernel mit RT-Preempt-Patch verwendet
Ergebnisse:
Dieses Projekt wurde erfolgreich abgewickelt und nach einigen Wochen der Implementierung und des Tests pünktlich geliefert.