Powering Up: Lab Automation With Labgrid and CI
summary
Demonstrates a repeatable workflow that goes from cross‑compiling a kernel to TFTP booting a BeaglePlay and arriving at a shell using a single-developer labgrid loop. Shows exact artifacts (vmlinuz, DTB, initramfs) uploaded from a cloud GitLab job to a local GitLab CI runner (Raspberry Pi coordinator), then launched by labgrid using an exporter YAML + a Python strategy state machine to power cycle, break to U-Boot, TFTP boot and run pytest userland checks. Results: reliable boots to shell, automated basic kernel tests, and templates for scaling with Jinja2 and KernelCI integration.
AI-written summary · about
chapters (6)
- 0:00Labgrid and CI intro
- 4:56Single-dev Labgrid loop
- 13:09GitLab CI workflows
- 20:12Scaling hardware & metadata
- 27:41Future work & community
- 33:38Q&A: Stress testing
related talks
18mSimple KernelCI Labs with Labgrid
44mAutomation beyond Testing and Embedded System Validation
37mAutomated Testing and Continuous Integration/Delivery: Lessons Learned
41mIntroducing the “Lab in a Box” Concept
51mIntroducing the “Lab in a Box” Concept
38mAutomating and Managing an IoT Fleet Using Git
39mQuickly Test Your Kernel with GitLab CI
31mContinuous Delivery on Arm: A Practical Approach
