Why go beyond Raspberry Pi OS?
The Raspberry Pi Compute Module 5 (CM5) delivers serious embedded performance — PCIe, NVMe storage, and LPDDR4X RAM. But if you plan to ship a real product, simply booting Raspberry Pi OS from an SD card isn’t enough.
You’ll need a controlled image build process, reproducible configuration, and a reliable update mechanism.
Traditionally, projects like Yocto or Buildroot are used for this purpose — but they come with steep learning curves and long build times.
For small teams, startups, or custom industrial products, Yocto can feel like overkill. So what if you could stay close to Raspberry Pi OS, yet still gain automation, reliability, and easy updates?
This series explores that lightweight alternative — using rpi-image-gen, A/B partitions, rpi-sb-provisioner, and SWUpdate to form a modular, production-ready pipeline.
Why skip Yocto?
Yocto’s greatest strength is also its complexity. It builds everything from source — kernel, bootloader, toolchain, and userspace — providing full control but also slow iteration and tough debugging.
When your base system is already well-supported, as Raspberry Pi OS is, rebuilding everything can be unnecessary and time-consuming.
Instead, you can:
- Reuse the Raspberry Pi bootloader and kernel
- Generate reproducible images with configuration automation
- Use proven tools for provisioning and updates
This approach delivers 80% of the production-grade benefits with only 20% of the effort.
Overview of the stack
In this series, we’ll explore a practical toolkit for building a production-ready Linux system without the overhead of Yocto:
- rpi-image-gen— automated Raspberry Pi OS image generation
- A/B rootfs — dual-partition for safe system upgrades
- rpi-sb-provisioner — automated device onboarding
- SWUpdate — OTA firmware management
By combining these tools, you can design a reproducible, maintainable, and upgradeable embedded Linux system — while staying close to the official Raspberry Pi ecosystem.
Articles in this series
- Building a Production-Ready Linux for Raspberry Pi Compute Module 5
- From Stock OS to Production Platform
- Customizing Raspberry Pi OS with rpi-image-gen
- System Robustness — Designing an A/B Root Filesystem Layout
- Provisioning — Automating First Boot with rpi-sb-provisioner
- OTA and Lifecycle — Software Updates with SWUpdate
Sources
- rpi-image-gen: https://github.com/raspberrypi/rpi-image-gen
- rpi-sb-provisioner: https://github.com/raspberrypi/rpi-sb-provisioner
- SWUpdate: https://github.com/sbabic/swupdate
- swugenerator: https://github.com/sbabic/swugenerator