A/B Linux updates with RAUC and meta-rauc-community: now & in the future
12-01, 12:20–12:50 (UTC), Room A

RAUC is a safe and secure open source software solution for A/B updates of embedded Linux devices. It supports the Yocto Project and OpenEmbedded, Buildroot and PTXdist. Upgrades are performed through RAUC bundles which can be installed either through the network or using the old-fashioned way with a USB stick.

In 2020 layer meta-rauc-community was created to provide examples how to integrate the lightweight update client RAUC on various machines. Initially it supported Raspberry Pi. In 2021 the layer was moved to the RAUC organization in GitHub and over the time it was ported to new machine, including sunxi (Allwinner) and qemux86-64.

The presentation is appropriate for anyone interested in software upgrades. We will talk about the evolution of meta-rauc-community and provide guidelines for porting to new machines using Yocto and OpenEmbedded BSP layers.

The flexibility and open source nature of RAUC makes it a popular solution for A/B updates of embedded Linux devices. The integration of RAUC ith the Yocto Project and OpenEmbedded on a new hardware requires advanced skills because there are numerous steps. To support RAUC we need to setup U-Boot, enable SquashFS in the Linux kernel configurations, use ext4 file system, create partitions and configure RAUC slots, generate certificates and setup U-Boot environment configurations with a script to switch RAUC slots over upgrades.

In 2020 a new integration layer called meta-rauc-community was created to simplify the getting started process with RAUC, Yocto and OpenEmbebedded. Initially it contained examples only for Raspberry Pi. Thanks to numerous community contributions support for Allwinner (also known as sunxi) devices and qemux86-64 was added. In 2021 the layer was moved to the RAUC organization in GitHub. What are the next steps and how to port it to new devices?

The presentation is appropriate for anyone with basic knowledge about the Yocto Project and OpenEmbedded. It will help other software developers in the community to overcame faster and easier similar technical difficulties while integrating the RAUC client on embedded Linux devices and hopefully contribute back to meta-rauc-community.

See also: A/B Linux updates with RAUC and meta-rauc-community (837.5 KB)

eon 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, Automotive Grade Linux (AGL), Tizen any many other open source projects. 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, 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, Bratislava, Prague, Sofia and his hometown Plovdiv.