Overview
Explore the journey from vendor-specific BSPs to a maintainable, upstream-based embedded Linux system in this conference talk. Learn to evaluate SoC support, integrate barebox bootloader into Yocto BSP, and configure atomic and redundant updates using RAUC. Discover the benefits of swimming upstream, including improved maintainability and reproducibility. Follow a step-by-step guide through initial Yocto setup, board support layer creation, machine configuration, and implementation of A/B partitioning for reliable system updates. Gain insights into overcoming challenges associated with downstream BSPs and embracing upstream solutions for embedded projects.
Syllabus
Intro
Downstream BSP Use
How To Update?
Knowledge Loss
Technical Debt
"Soft" Vendor Lock-In
What if we had a clean slate?
Summary: Swim Upstream!
How can this look like?
System Architecture
Barebox State from Userspace
What We Need
Initial Yocto Setup
Yocto Board Support Layer
Machine Configuration
Machine: Boot Firmware
Machine: Barebox
Machine: Device Tree
Machine: Kernel
Image with A/B partitioning
Distro with RAUC support
Distro: RAUC bundle
RAUC: system.conf
Taught by
Linux Foundation