[Podcast] Kernel Panic - Board on Fire ~~> #010: A Grid of Labs - Das Labgrid Projekt. Was, Warum, Wie?
In dieser Folge setzen wir uns hin und reden mal ausgiebig über das Labgrid
Projekt.
Wir, das sind in diesem Fall Rouven, der damals den Grundstein für das Labgrid
Projekt gelegt hat, wie wir es heute kennen, und Leonard, der schon mal
labgrid-client power on
aufgerufen hat.
Es geht darum was Labgrid eigentlich ist (ein Automatisierungs-Dingsie für
die Embedded Softwareentwicklung, aber kein Testing-Framework an sich),
aus welchen Komponenten eine Labgrid-Installation besteht, über die
Geschichte dahinter und noch ein bisschen mehr.
Über den Kernel Panic - Board on Fire Podcast
In wahrscheinlich jedem Berufsfeld gibt es Schauergeschichten, die man sich abends am Lagerfeuer mit einer Taschenlampe am Kinn erzählen kann. So auch in der Welt der Software. In diesem Podcast geben wir in unregelmäßigen Abständen Entwicklerinnen und Entwicklern die Möglichkeit ihre Schauergeschichten zu erzählen. Es geht um monatelange Fehlersuchen, deren Ergebnis nur eine Hand voll Zeilen falscher Code sind, um subtil fehlerhafte Hardware, die zu sporadisch auftretenden Geistern im System führt, um bröckelnde Software, deren Quellcode schon vor Jahren verloren gegangen ist, und manchmal auch um ganz was anderes.
Shownotes
Wer nicht die ganze Folge hören möchte kann sich an den folgenden Zeitmarken orientieren:
- 00:00
Einleitende warme Worte. Rouven ist zwar nicht das erste Mal im Podcast, trotzdem stellen wir ihn, mich (Leonard), den Podcast und das Drumherum nochmal vor.
Rouven ist zwar eigentlich im Pengutronix Grafikteam, setzt sich heute aber mal wieder seinen alten Automated Testing Hut auf und erzählt wie man Single Board Computer fernsteuert.
- 01:30
Was ist Labgrid, warum ist Testing-Framework vielleicht, vielleicht aber auch, nicht der richtige Begriff dafür und wie kam es dazu, dass das Projekt ins Leben gerufen wurde.
Was waren die Designkriterien? Welche Features sollte Labgrid haben?
- 10:00
- Labgrid als interaktives Programm zum Steuern von Geräten, Labgrid als Python-Bibliothek zum Skripten von Aufgaben und Labgrid als Teil einer pytest-Testsuite zum automatisierten Ausführen von Tests.
- 12:00
- Aus welchen Komponenten besteht ein Labgrid-Setup? Was sind die Rollen des Coordinator und Exporter?
- 14:00
- Einschub: welche Arten von Ressourcen unterstützt Labgrid eigentlich?
- 20:00
- Zurück zu den Komponenten eines Labgrid-Setup. Was ist die Rolle des interaktiven Clients und wie benutzt man ihn?
- 27:00
- Labgrid als Python-Bibliothek.
- 29:30
- Die Labgrid Remotelab Infrastruktur bei Pengutronix. Welche Hardware kommt zum Einsatz und wie viel davon?
- 36:20
- Wie läuft die Integration eines neuen Boards in die Labgrid-Infrastruktur ab?
- 42:20
- Wie nutzt man Labgrid Strategies um Boards automatisiert von Zustand A in Zustand B zu bringen?
- 47:00
- Wie sehen Labgrid basierte Testsuites in der Regel aus? Was wird eigentlich getestet?
- 50:00
- Wie können ad-hoc beschriebene Testaufbauten bei der Entwicklung helfen?
Z.B. um ein
git bisect
auszuführen, das Dinge auf der Hardware ausprobiert oder um selten auftretende Probleme zu reproduzieren. - 55:30
- Wer setzt außerhalb von Pengutronix noch Labgrid ein?
- 58:10
- Welche aktuellen Entwicklungen gibt es im Labgrid?
- 63:00
- Ein Bug zum Abschluss. Wie Labgrid einen Bug in
getty
gefunden hat. - 66:00
- Zusammenfassung und Abschluss.
Weiterführende Links
[Podcast] Kernel Panic - Board on Fire ~~> #009: Ho Ho Ho VirtIO - QEMU, KVM, Barebox und wie sie zusammengefunden haben
Wir haben lange gewartet, um endlich wieder eine Weihnachtssonderfolge herausbringen zu können. Für diese Folge hat uns Ahmad mal wieder ein spannendes Thema mitgebracht, oder viel mehr einen Themenkomplex. Er erzählt uns nämlich, wie sich, als Barebox in die oe-core Layer des Yocto Projekts gebracht wurde, die Gelegenheit ergeben, hat spannende Dinge über Emulation und Virtualisierung mit QEMU und KVM und Paravirtualisierung mit VirtIO zu lernen.
[Podcast] Kernel Panic - Board on Fire ~~> #008: Aus dem Takt - Das Doppelpack Clock-Glitches
In dieser Folge reden Ahmad und Leonard über Takte / Clocks in Prozessoren. Darüber warum es so viele gibt, wie sie erzeugt und im Chip verteilt werden und darüber, was dabei eigentlich so schief gehen kann.
[Podcast] Kernel Panic - Board on Fire ~~> #007: GPU und nu? Der Weg zum offenen Grafiktreiber
In dieser Folge erzählt Lucas Stach uns wie er in die Entwicklung der offenen Grafiktreiber Nouveau und Etnaviv hineingeraten ist und was so ein Grafiktreiber eigentlich tut. Wir reden darüber warum Grafikkarten überhaupt Software ausführen und wie diese Software von der Anwendung bis in die Grafikkarte kommt.