Das Yocto-Projekt ist eine leistungsstarke Open-Source-Initiative, die wesentliche Softwarewerkzeuge für den Aufbau maßgeschneiderter Linux-Betriebssysteme bereitstellt. Diese Werkzeuge umfassen Build-Systeme, Cross-Entwicklungsumgebungen und Emulatoren, die speziell entwickelt wurden, um den Prozess der Linux-OS-Erstellung zu optimieren. Traditionell war der Aufbau eines Linux-Betriebssystems eine mühsame Aufgabe, die das manuelle Sammeln von Softwarepaketen, deren Kompilierung, das Auflösen von Abhängigkeiten und die individuelle Installation jeder Komponente erforderte. Yocto automatisiert diesen gesamten Prozess und ermöglicht es den Nutzern, voll funktionsfähige Linux-Distributionen mit Leichtigkeit zu erstellen, vorausgesetzt, sie verfügen über eine stabile Internetverbindung.\n\nIn meiner Einrichtung verwendete ich Ubuntu 22.04.5 LTS (Jammy Jellyfish) als Host-Betriebssystem. Zunächst versuchte ich, Ubuntu 24.04 zu verwenden, aber die Build-Umgebung schlug aufgrund von Inkompatibilitäten mit Bitbake-Modulen fehl, die für das Yocto-Build-System entscheidend sind. Außerdem trat ein Problem auf, bei dem das Terminal unter Ubuntu 22.04 innerhalb von VirtualBox nicht gestartet wurde. Dieses Problem wurde durch Befolgung einer spezifischen Fehlerbehebungsanleitung mit dem Titel "Gelöst: Ubuntu 22.04 Terminal startet nicht! So beheben Sie es in VirtualBox" behoben. Für die Virtualisierung verwendete ich Oracle VirtualBox Version 7.0.22 und lud die notwendigen Ressourcen aus dem Oracle VirtualBox-Archiv für ältere Versionen herunter.\n\nUm einen reibungslosen Build-Prozess zu gewährleisten, stellte ich der virtuellen Maschine mindestens 60 GB Festplattenspeicher und 16 GB RAM zur Verfügung, da ich 8 GB als unzureichend für die Anforderungen empfand. Die Installation der notwendigen Abhängigkeiten war unkompliziert und umfasste Updates sowie die Installation von Paketen wie chrpath, diffstat, gawk und python3.10-distutils. Nach der Vorbereitung der Umgebung klonte ich das Yocto-Poky-Repository aus der offiziellen Quelle und wechselte zum Dunfell-Branch, einer stabilen und gut unterstützten Version.\n\nSobald das Repository bereit war, führte ich das Umgebungs-Setup-Skript aus und startete den Build-Prozess mit Bitbake, um das Image "core-image-base" zu kompilieren. Dieser erste Build war zeitaufwendig und dauerte je nach Systemleistung zwischen zwei und vier Stunden. Nach dem Build startete ich das resultierende Image mit QEMU, dem im Yocto enthaltenen Emulator, und wählte zwischen qemux86 für 32-Bit- und qemux86-64 für 64-Bit-Builds. Bei 64-Bit-Systemen trat ein Fehler "Request Major code 130 (MIT-SHM)" auf, der durch Ausführen von QEMU mit der Option "nographic" behoben wurde.\n\nNach dem erfolgreichen Start des benutzerdefinierten Linux-Images im Emulator waren die anfänglichen Anmeldedaten einfach: Der Benutzername war "root" und das Passwortfeld blieb leer. Dies ermöglichte sofortigen Zugriff auf die Shell-Umgebung und erleichterte weitere Anpassungen oder Tests des erstellten Linux-Systems.\n\nRückblickend war der Aufbau eines Linux-Betriebssystems mit Yocto herausfordernder als zunächst erwartet. Mit Unterstützung durch KI-Hilfe und einem Lehrvideo, das ich mit automatischer Übersetzung ansah, konnte ich den Prozess jedoch erfolgreich bewältigen. Das schrittweise Video war besonders hilfreich, um komplexe Aspekte zu klären, obwohl es auf Englisch war. Insgesamt erwies sich Yocto als robustes Werkzeug, das die traditionell manuelle und fehleranfällige Aufgabe der Linux-Distributionserstellung erheblich vereinfacht und sowohl für Anfänger als auch erfahrene Entwickler zugänglich macht.