Yocto Tricks

Ich arbeite gerade an eine Projekt, das viele verschiedene Hardwaren mit einem Yocto build bedienen will. Dabei habe ich ein paar Tricks gefunden, die ich hier gerne teilen möchte.

VSCode Settings automatisch erstellen

Mit dem kleine Script oe-setup-vscode könnt ihr VSCode zur Verwendung mit Yocto konfigurieren. Wenn ihr euere Yocto Umgebung ertellt habt, müsst ihr lediglich folgenden Befehl ausführen

build oe-setup-vscode <path to .vscode folder> <yocto build directory>
You had no /home/bastian/Projects/yocto/.vscode configuration.
These configuration files have therefore been created for you.

Damit wird die Extension yocto-bitbake vorgeschlagen, Python Vorschläge mit poky Code gefüttert, Dateiendungen .conf und .inc mit bitbake Syntax gehighlightet und VSCode so eingestellt mit den vielen Dateien eines Yocto Projekts klar zu kommen.

Überblick über die erzeugten Pakete

Mit dem Tool oe-pkgdata-browser könnt ihr sehen, welche Pakete von welchem Rezept gebaut wurden.

Auch die zu dem Paket gehörigen Dateien die im Image installiert werden sind aufgelistet

Warum wurde ein Paket installiert?

Wenn ihr für euer Image eine .dot Datei erstellt habt, könnt ihr mit oe-depends-dot herausfinden welches Paket dazu geführt hat ein anderes zu installieren.

oe-depends-dot -k busybox -w task-depends.dot
Because: core-image-minimal packagegroup-core-boot
core-image-minimal -> packagegroup-core-boot -> busybox

Testergebnisse des OEQA Tests aufbewahren und vergleichen

Nachdem ihr ein ptest Lauf ausgeführt habt, könnt ihr mit Hilfe von resulttool Die Testergebnisse direkt in ein git repository comitten. So fallen Änderungen im Testergebnis direkt auf.

resulttool store tmp/log/oeqa/testresults.json ../tests
INFO: Reading files from tmp/log/oeqa/testresults.json
INFO: Found 1 revisions to store
INFO: Storing test result into git repository ../test
INFO: Read local tags only, some remote tags may be missed
INFO: Committing data into to branch master
INFO: Updating /home/bastian/Projects/yocto/test HEAD to latest commit
INFO: Creating tag master/75102-g28fd497a26bdcc12d952f81436a6d873d81cd462/0

Um zu so einem Testergebnis zu kommen müsst ihr in eurer Konfiguration beispielsweise der local.conf diese Optionen hinzufügen

EXTRA_IMAGE_FEATURES ?= "debug-tweaks ptest-pkgs"
IMAGE_INSTALL += "ptest-runner"

Um den Test direkt im Anschluss eines Builds durchzuführen könnt ihr diese Optionen einschalten

IMAGE_CLASSES += "testimage testsdk"
TESTIMAGE_AUTO:qemuall = "1"

Anschließend wird nach einem bitbake-Lauf das erstelle Image in qemu gestartet und der Test durchgeführt. Das Testergebnis liegt dann in build/tmp/logoeqa/testresults.json.

Gibt es updates für meine Pakete?

Um herauszufinden ob es neuer Versionen der Softwarepakete gibt, kann das Werkzeug devtool eingesetzt werden. Entweder es wird ein spezielles Paket angegeben, oder es werden alle bekannten Pakete in allen Layern überprüft.

devtool check-upgrade-status

Das läuft für eine ganze Weile und gibt dann eine Liste der Pakete, die bereits eine neuere Version haben.

Full Circle Sci-Fi

In der Welt der Science-Fiction-Romane haben Autoren oft visionäre Ideen über die Zukunft der Technologie und deren Auswirkungen auf unsere Gesellschaft. Ein solches Beispiel ist die Perry Rodan-Serie, die bereits seit den 1960er Jahren eine treue Leserschaft begeistert. In dieser Serie gibt es eine faszinierende Parallele zur heutigen Realität: Das positronische Gehirn. Wenn wir uns Software wie ChatGPT ansehen, einen fortschrittlichen Textgenerator entwickelt von der Firma OpenAI, gibt es einige bemerkenswerte Ähnlichkeiten zu dieser fiktiven Technologie.

Das positronische Gehirn in Perry Rodan ist ein zentraler Computer, der mit Informationen gefüttert und programmiert wird, um Voraussagen zu treffen. Die positornischen Gehirne stehen nur stationär zur Verfügung, ähnlich einem Rechenzentrum. Die Bedienung erfolgt über die Eingabe von Fragen auf Kunststoffstreifen, die dann in das Gehirn eingesetzt werden. Durch einen iterativen Prozess werden Fragen und Antworten ermittelt, wobei das Gehirn zu 100% logische Antworten liefert. Um eine zuverlässige Antwort zu erhalten, musste also ein geeigneter Prompt eingegeben werden.

Ähnlich dazu bietet ChatGPT eine neue Methode des Informationsabrufs im World Wide Web. Es wurde erfolgreich in Suchmaschinen wie Bing integriert und ermöglicht es den Nutzern, Fragen im Freitext zu stellen und relevante Antworten zu erhalten. Das Modell wurde mit einer Vielzahl von Texten trainiert und basiert auf einer statistischen Wahrscheinlichkeit, welche Elemente in einem Satz am wahrscheinlichsten folgen. Wenn man ChatGPT mit einer gut formulierten Frage konfrontiert, kann es erstaunlich relevante und verständliche Antworten liefern.

Allerdings gibt es auch Unterschiede zwischen ChatGPT und dem positronischen Gehirn. Während das positronische Gehirn in Perry Rodan zu 100% logische Antworten liefert, ist ChatGPT immer noch anfällig für logische Fehler und kann mit „Garbage in, garbage out“ verglichen werden. Das bedeutet, dass die Qualität der Antworten stark von der Qualität der gestellten Frage und den zugrunde liegenden Informationen abhängt. ChatGPT kann nicht die tiefere Logik hinter dem Text erfassen, sondern basiert auf der statistischen Wahrscheinlichkeit von Satzelementen.

Trotz dieser Unterschiede ist es dennoch erstaunlich, wie weit sich die Technologie entwickelt hat und wie nah wir der fiktiven Welt von Perry Rodan kommen. Die Idee, Informationen in einen zentralen Computer einzuspeisen und auf diese Weise Antworten zu erhalten, ist nun Realität geworden. ChatGPT und ähnliche Textgeneratoren haben das Potenzial, die Art und Weise, wie wir nach Informationen suchen, zu revolutionieren und unsere Vorstellungskraft zu übertreffen.

Die Perry Rodan-Serie hat viele faszinierende Konzepte und Ideen präsentiert, und es ist spannend zu sehen, wie einige davon in unserer heutigen Welt umgesetzt werden. Obwohl ChatGPT noch nicht die Perfektion des positronischen Gehirns erreicht hat, zeigt es uns doch, dass wir uns in Richtung einer Zukunft bewegen, die einst als futuristisch und unerreichbar galt. Mit weiteren Fortschritten in der Künstlichen Intelligenz könnten wir bald noch beeindruckendere Technologien erleben, die Perry Rodans Visionen noch näher kommen. Wer weiß, vielleicht werden wir irgendwann ein positronisches Gehirn haben, das in der Lage ist, Antworten mit absoluter logischer Korrektheit zu liefern.

In der Zwischenzeit können wir jedoch die Fortschritte von ChatGPT und ähnlichen Textgeneratoren genießen und die faszinierende Ähnlichkeit mit dem positronischen Gehirn in Perry Rodan erkennen. Es ist eine aufregende Zeit, in der wir leben, und wir können gespannt sein, was die Zukunft für uns bereithält. Lang lebe der Administrator!