Yocto Workshop at Embedded Recipes 2025

Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
2025-05-16 , Promenade 1

The Yocto/OpenEmbedded layer meta-rauc-community was created in 2020 to provide demo RAUC integrations for widely used embedded Linux platforms. Its goal is to support the community with practical, working examples of RAUC in action on popular development boards, helping developers adopt robust software update mechanisms for their embedded Linux devices. The layer tracks Yocto LTS releases, including Dunfell, Kirkstone, and Scarthgap. It includes integrations for a broad range of hardware such as Raspberry Pi, NXP i.MX6/i.MX8, Rockchip, Allwinner, STM32MP, and NVIDIA Tegra.
As the project has grown, a refactoring effort was launched to reduce code duplication across machine configurations by centralizing shared logic into a unified base layer. This work, targeting completion in time for the Yocto Project’s Wrynose release in 2026, aims to simplify maintenance, introduce consistent testing workflows, and streamline the process of supporting new machines. It this talk we will discuss how to use RAUC as well as how to improve the layer with best-practices. Community input is encouraged to guide future improvements and shape the long-term direction of the layer.


RAUC is a widely used open-source solution for robust and secure software updates on embedded Linux devices. In 2020, the Yocto/OpenEmbedded layer meta-rauc-community was created to provide demo RAUC integrations for a variety of popular development boards. The goal was to support the embedded Linux community by offering practical, working examples of RAUC in action - helping developers get started quickly.
Since its inception, the layer has tracked and supported the Long Term Support (LTS) releases of the Yocto Project, including Dunfell (April 2020), Kirkstone (April 2022), and Scarthgap (April 2024), alongside active development in the main branch. Structured as a collection of layers tailored to different machine configurations, meta-rauc-community has delivered demo integrations for a wide variety of boards, utilizing their respective BSP layers. These include widely used platforms such as the Raspberry Pi, NXP i.MX6 and i.MX8, Rockchip, Allwinner, STM32MP, and NVIDIA Tegra.
Five years into the project, a significant refactoring effort was launched to address increasing duplication and divergence in the layer’s codebase. The new direction involves consolidating shared logic into a dedicated meta-rauc-community base layer, which will serve as the foundation for all supported machines. This centralization reduces redundancy, simplifies maintenance, and ensures a more sustainable development process.
The ongoing work, currently taking place in the main branch, targets readiness for the upcoming Yocto Project release codenamed Wrynose (expected in 2026). Beyond reducing technical debt, the refactoring will introduce unified testing procedures and streamlined porting guidelines. These enhancements are designed to improve overall consistency across supported hardware platforms and make it easier for contributors and users to extend RAUC support to new machines.
The community's input is highly valued: What best practices should be promoted? What features or improvements would you like to see in meta-rauc-community in the long term? Let’s start a discussion on how this layer can become even more helpful, maintainable, and future-ready - together.

See also: Slides (2.4 MB)

Leon Anavi is an open source enthusiast and a senior software engineer at Konsulko Group. He is an active contributor to various Yocto/OpenEmbedded meta layers. His professional experience includes web and mobile application development for various platforms as well as porting and maintaining embedded Linux distributions to Raspberry Pi and devices with x86-64, i.MX6, NVIDIA Tegra, RISC-V, Amlogic, Rockchip and Allwinner (aka sunxi) SoC. Leon holds a masters in Information Technology from the Technical University Sofia. His previous speaking experience includes talks about open source software and hardware during events in San Francisco, San Diego, Portland (OR), Hong Kong, Shanghai, Shenzhen, Brussels, Lyon, Berlin, Edinburgh, London, Cambridge, Vienna, Bratislava, Prague, Sofia and his hometown Plovdiv.