2024-03-25
Ziel: Vertraut machen mit dem Stand der Technik und mit der typischen Arbeitsweise von Leuten die im Embedded Linux Umfeld ihre Brötchen verdienen.
Bekannte Firmen in diesem Arbeitsgebiet sind:
Bitte schauen Sie sich die Homepages dieser Firmen genauer an. Worum geht es da?
Homepage dieser Veranstaltung (2023 war nichts)
Vorkenntnisse, Interessen
https://hhoegl.informatik.hs-augsburg.de/hhwiki/ElinuxVorkenntnisse
Master-Studierende schreiben eine Studienarbeit. Die Abgabe-Deadline ist am Freitag den 28. Juni 2024.
Moodle Kurs
https://moodle.hs-augsburg.de/course/view.php?id=8024
Wir werden den Kurs brauchen für …
Lernmaterial wird es darüber nicht geben.
Theorie
“MELPv3”, Buch “Mastering Embedded Linux Programming” von Frank Vasquez und Chris Simmonds,
https://learning.oreilly.com/library/view/mastering-embedded-linux/9781789530384
Übungen
https://hhoegl.informatik.hs-augsburg.de/elinux/kurs/uebungen/
“Intro” Foliensatz (19 S.)
https://hhoegl.informatik.hs-augsburg.de/elinux/kurs/Folien/intro.pdf
Idealerweise haben Sie ein eigenes Embedded Linux Board
Im Labor haben wir einige zum Verleihen, leider nicht genug. Wer ein Board ausleihen möchte schreibt das in das Yopad https://yopad.eu/p/Elinux24.
Das Beagle Bone Black (und dessen Varianten unter https://www.beagleboard.org) ist ein echtes Open-Source Board. Das heisst auch der Bauplan und die Datenblätter der darauf eingesetzten Bauteile sind frei zugänglich. Beim Raspberry Pi hingegen ist das nicht der Fall!
Manche Versuche können sie auch auf dem “ElinuxRemote” Server machen, an dem sind zwei BBB Boards angeschlossen (siehe unten).
Wählen Sie für Ihr Embedded Linux Board ein GNU/Linux Betriebssystem ohne grafischen Desktop. Für den Raspberry Pi ist das “Raspberry Pi OS Lite”. Beim Beagle Board sind das die “IoT” Images unter https://www.beagleboard.org/distros.
Labor Tagebuch (Markdown, auf THA-Gitlab)
Machen Sie Notizen zu allem, was Sie mit Ihrem Embedded Linux Board machen. Zum Beispiel wenn Sie einen USB-zu-UART Adapter anschliessen, um die serielle Konsole anzusprechen, dann sollten Sie die Details aufschreiben.
Vor allem die diversen Kommandos auf der Kommandozeile die sie benötigen, und die auch manchmal viel Zeit zum Herausfinden brauchen, sollten Sie festhalten.
Es hat sich bewährt, dass Sie für die Veranstaltung ein Repository
auf dem THA-Gitlab Server (gitlab.informatik.hs-augsburg.de) anlegen und
darin das Labor Tagebuch im Markdown Format aufbewahren. Gitlab kann
Markdown anzeigen, es gibt aber auch freie Tools, die Markdown in andere
Formate, z.B. HTML umwandeln. Vor allem pandoc
ist hier zu
nennen, die folgende Anleitung verwendet pandoc
:
https://gitlab.informatik.hs-augsburg.de/hhoegl/Markdown-Anleitung
In Ihr Repo nehmen Sie neben dem Labor Tagebuch auch die Quelltexte, Konfigurationsdateien und diversen anderen Sachen auf, die während des Kurses entstehen. Stellen Sie das Repo auf “intern”, nicht “privat”.
Nehmen Sie mich als Mitglied in Ihr Repo auf, dann bekomme ich eine Nachricht von gitlab und weiß, wo Ihr Repo liegt.
Der Anfang (MELPv3, Kap. 1 und 2)
Was Sie in der Woche tun sollten:
Schwerpunkt Booten, Device Trees, U-Boot (MELPv3, Kap. 3)
Foliensatz zu U-Boot https://hhoegl.informatik.hs-augsburg.de/elinux/kurs/Folien/u-boot.pdf
Schwerpunkt Kernel konfigurieren und bauen (MELPv3, Kap. 4)
Building a Root Filesystem - RYO (MELPv3, Kap. 5)
Buildroot (MELPv3, Kap. 6)
Yocto Project Intro (MELPv3, Kap. 6)
Yocto Project, eigene Layer (MELPv3, Kap. 7)
Software Update (MELP v3, Kap. 10)
Real-Time Programming (MELPv3, Kap. 21)
Alles was noch übrig ist:
Erst mal nicht Pflicht, ich weise darauf hin wenn nötig
Nur über VPN von aussen
ssh elinux-remote.informatik.hs-augsburg.de
Login mit RZ-Account
Schnelle Partition zum Kompilieren:
/home/elinux_work/
, Verzeichnisse nach Schema
hoegl_h
(Nachname, “_“, Vorname erster Buchstabe)
Zwei angeschlossene Beagle Bone Black:
Verschiedene Experimente möglich, z.B. Real-Time Servo, siehe Bild
Microcom Terminal Emulator verwenden (https://github.com/pengutronix/microcom)
Anleitung: https://hhoegl.informatik.hs-augsburg.de/hhwiki/ElinuxRemote
Die Klausur wird Ende Juni als Moodle-Klausur stattfinden, die sie am Rechner bearbeiten können. Es wird eine Mischung aus Multiple-Choice und Freitextaufgaben geben, sie wird 60 Minuten dauern. Es steht noch nicht fest, ob die Klausur an der Hochschule stattfinden wird oder aus der Ferne über Zoom.
Open Source Automation Development Labs
ELC Konferenz
“Tsgrain” Projekt
Das ist ein schönes Embedded Linux Projekt mit einem Raspberry Pi. Seit 2020 haben sich zwei Bachelorarbeiten damit befasst und ich mache auch selber Änderungen daran. Aktuell wäre ich an Yocto Support und an einem Updateverfahren (RAUC) interessiert, auch im Rahmen der Veranstaltung Embedded Linux. Im Rahmen der BA von T. Hampp wurde das schon implementiert, jedoch würde ich gerne diese Sachen aktualisieren.
“Eulenfunk” Projekt (Master Projekt 2016)