Session
Schedule FOSDEM 2022
Embedded, Mobile and Automotive

Bringing RAUC A/B Updates to More Linux Devices

D.embedded
Leon Anavi
<p>RAUC is a safe and secure open source software solution for A/B updates of embedded Linux devices. RAUC supports industry-leading build system: the Yocto Project and OpenEmbedded, Buildroot and PTXdist. Porting RAUC to a new device requires several advanced technical steps. Layer meta-rauc-community exists to speed up and simplify the integration process for Yocto and OpenEmbedded by providing examples for popular devices such as Rasperry Pi, Allwinner (Sunxi), NVIDIA Tegra and QEMU.</p>
RAUC is a popular solution for A/B updates of embedded Linux devices because of its flexibility, safety and security features. It supports industry-leading build system: Yocto Project and OpenEmbedded, Buildroot and PTXdist. Upgrades are performed through RAUC bundles which can be installed either through the network or just using a USB stick. To port RAUC to a new device, we need to go through several steps: setup appropriate bootloader like U-Boot, enable SquashFS in the Linux kernel configurations, use ext4 file system, create partitions and configure RAUC slots, generate certificates and setup bootloader environment configurations with a script to switch RAUC slots over upgrades. To simplify the getting started process of developers using RAUC with Yocto and OpenEmbedded in 2020 Leon Anavi created layer meta-rauc-community. In 2021 the layer was moved to the RAUC organization in GitHub. Initially it offered only Raspberry Pi support and over the time, thanks to numerous community contributions, the support was extended to more machines. As of the moment meta-rauc-community provides RAUC sample integrations for Raspberry Pi, Sunxi (Allwinner), QEMUx86 and NVIDIA Jetson TX2. This presentation will provide a brief introduction to RAUC and will focus on layers meta-rauc and meta-rauc-community. We will go through the exact steps how build, flash and update an image using bitbake to the currently supported platforms. Furthermore we will discuss general guidelines for porting RAUC and adding new supported machines to meta-rauc-community in the future. The talk is appropriate for anyone with basic knowledge about Linux. It will hopefully 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 the Yocto/OpenEmbedded layer meta-rauc-community.

Additional information

Type devroom

More sessions

2/5/22
Embedded, Mobile and Automotive
Josef Holzmayr
D.embedded
<p>Once you start out in embedded linux, there is a lot to do. Some things are obvious, some less so. First and foremost, you can put your knowledge of using Linux on the desktop to good use, right? This approach feels like a natural progression, but it has its pitfalls - some of which this talk aims to help you understand and ultimately avoid.</p>
2/5/22
Embedded, Mobile and Automotive
Nicolas Caramelli
D.embedded
<p>DirectFB2 is a fork of DirectFB, a graphics library designed with embedded systems in mind that was widely used in the GNU/Linux embedded world. DirectFB2 comes with changes such as a Meson build system, a pure C implementation and a modularization of the source code.</p> <p>Access to the low-level display is based on a DRM/KMS system module (or possibly on a legacy Framebuffer system module), and depending on the platform, hardware-accelerated graphics rendering can be achieved using the ...
2/5/22
Embedded, Mobile and Automotive
Jean-Louis Thekekara
D.embedded
<p>I would like to share my experience bringing up various Automotive Ethernet Gigabit PHYs on an iMX8 platform.</p> <p>Agenda:</p> <ul> <li>PHY configuration CheckList (= What I need to know about my PHY, my schematic before starting the bring-up)</li> <li>SW implementation (= step-by-step SW integration + common pitfalls to avoid, mainly focused on Linux, but I talk also about U-Boot)</li> <li>Debug tips (= SW and HW tips)</li> </ul>
2/5/22
Embedded, Mobile and Automotive
Frank Vasquez
D.embedded
<p>In this talk, I will show you how to build and deploy ply (a dynamic tracing language for eBPF) to a BeagleBone Black then write ply scripts to attach probes and tracepoints to a running kernel and application on that same target. eBPF has rapidly eclipsed all previous tracers for Linux. While eBPF has taken the cloud native community by storm, the technology has yet to make significant inroads within the embedded Linux ecosystem. I will explain the reasons for this current situation and ...
2/5/22
Embedded, Mobile and Automotive
Eilís Ní Fhlannagáin
D.embedded
<p>In this talk, pidge will take a critical look at the places where meta-zephyr succeeds and fails in its original goals, the reasons behind that and the steps being taken to fix those issues.</p>
2/5/22
Embedded, Mobile and Automotive
Babar Khan
D.embedded
<p>FPGAs are increasingly being used in today's embedded systems. But they are notoriously complex for having a difficult programming model. In order to counter this complexity, there has been a growing focus to design FPGA hardware at a higher level of abstraction with new languages and compilers. This talk will serve as "one stop shop" for topics related to these developments.</p>
2/5/22
Embedded, Mobile and Automotive
Bernhard Rosenkränzer
D.embedded
<p>Sometimes it is useful to share code across multiple kernels -- in projects like the Oniro door lock blueprint, for the typical use cases a Cortex-M CPU running Zephyr is more than sufficient, but using its functionality as part of a larger project makes using Linux on Cortex-A an interesting option. Can we find a way to maximize code reuse despite the very different GPIO APIs?</p>