Safe updates using RAUC on Raspberry Pi 5

RAUC on RaspberryPi 5As part of a recent project at Bootlin, we implemented A/B Over-The-Air (OTA) updates on a a system based on the RaspberryPi 5 using RAUC. We ended up not using U-Boot as a bootloader and instead rely solely on the RaspberryPi firmware as a bootloader. This post will dive into the details of making this happen, and some advanced features of RAUC.

Continue reading “Safe updates using RAUC on Raspberry Pi 5”

Bootlin talk at Embedded Recipes: “Yocto Project and OpenEmbedded: Recent Changes and Future Directions”

Embedded RecipesAs we previously announced, Bootlin is proud to be a Chef Sponsor of Embedded Recipes 2025. A large part of our team will be attending the event, which takes place on May 14–15 in Nice, France.

We’re also excited to share that Bootlin engineer Antonin Godard will be giving a talk titled Yocto Project and OpenEmbedded: Recent Changes and Future Directions. As the official maintainer of the Yocto Project documentation, Antonin brings a unique perspective on the latest developments and upcoming changes in Yocto/OpenEmbedded. Here is the full abstract of his talk:

The Yocto Project and OpenEmbedded form the foundation of many embedded Linux systems, providing a powerful and flexible build system for custom distributions. In this talk, Antonin Godard, embedded Linux engineer at Bootlin and Yocto Project documentation maintainer, will explore recent developments in the project, including key changes in the latest releases, improvements in tooling. Attendees will gain insights into the future roadmap of Yocto/OpenEmbedded and how these changes impact developers and system integrators. Whether you’re a long-time Yocto user or just getting started, this session will help you stay up to date with the latest advancements in the ecosystem.

There’s still time to secure your seat at Embedded Recipes—don’t miss this unique single-track conference that fosters deep technical exchange and networking. And of course, take advantage of the beautiful spring weather in Nice while you’re there!

Cyber Resilience Act (CRA) – Obligations for manufacturers

The EU’s new Cyber Resilience Act (CRA) sets out a comprehensive framework of cybersecurity requirements for products with digital elements. While most of its provisions will apply starting December 11, 2027, certain obligations—most notably, reporting duties for manufacturers—will kick in earlier, on September 11, 2026.

In a previous blog post, we offered an overview of the CRA and its broader context. In this article, we’re narrowing the focus to a key actor in the CRA’s ecosystem: the manufacturer. We’ll explore what qualifies someone as a manufacturer under the regulation, and what responsibilities that role carries under the new law.

Continue reading “Cyber Resilience Act (CRA) – Obligations for manufacturers”

Demystifying the Kernel Boot Sequence: From ‘Starting Kernel…’ to Userspace”

Board booting

As kernel developers, we often find ourselves writing device drivers—pieces of code that are typically registered using module_init() in the Linux kernel. But have you ever paused to wonder: just how late in the boot process does this happen? What exactly takes place between the moment we see the famous "Starting kernel..." message and the point where drivers are finally registered and devices probed?

If you’re curious about the intricate steps that occur before the system even reaches a working init process, you’re in the right place. Join us as we explore the fascinating journey of the Linux kernel boot sequence—step by step.

Throughout this article, you’ll find clickable links to our Elixir source code browser. We encourage you to dive in and follow along!

Continue reading “Demystifying the Kernel Boot Sequence: From ‘Starting Kernel…’ to Userspace””

Zephyr: making a driver for the Nunchuk joystick

ZephyrThis post is the fifth blog post in our series of blog posts about Zephyr. You can find the previous episodes below:

  1. Getting started with Zephyr
  2. Understanding Zephyr’s Blinky example
  3. Zephyr: Implementing a Device Driver for a sensor
  4. Integrating ST7789H2 Display Support on STM32L562E-DK with Zephyr: A Step-by-Step Guide

In this 5th blog post, we are going to implement a driver for the Nunchuk joystick from Nintendo. The Nunchuk is a simple joystick, which has the advantage of having a very simple interface that relies on the I²C bus.

Continue reading “Zephyr: making a driver for the Nunchuk joystick”

Back from Netdev 0x19

Netdev 0x19Around mid-March, Bootlin engineers Köry Maincent and Romain Gantois had the chance to attend edition 0x19 of the Netdev conference, where developers from the Linux kernel networking community assemble for four days of technical presentations and discussions.

They were generally very much impressed by the quality and detail of the talks given during this conference, and they have selected two of the talks that they found the most interesting, which they summarized below. We expect the slides and videos to be published at some point in the future, but they don’t seem to be available at the moment.

Continue reading “Back from Netdev 0x19”

Linux 6.14 released, Bootlin contributions inside

Penguin coding, AI generatedLinux 6.14 was released last week, and as usual, we recommend checking out the LWN articles covering the 6.14 merge window (part 1, part 2) to get a good sense of the main new features and updates in this release.

Bootlin engineers have once again been busy contributing to this kernel release, with 125 commits authored by Bootlin engineers, and 60 patches reviewed and merged by Bootlin engineers who are maintainers of specific parts of the Linux kernel.

Continue reading “Linux 6.14 released, Bootlin contributions inside”

Improving the eBPF tests in the kernel

As part of a partnership with the eBPF Foundation, Bootlin engineers Bastien Curutchet and Alexis Lothoré are working with the kernel community in order to improve eBPF support in the kernel on different aspects. This post is the first one of a series highlighting this effort. For those who need to catch up with the eBPF technology, you can take a look at our “Linux Debugging, tracing and profiling” training course which has been recently updated with eBPF basics !

Continue reading “Improving the eBPF tests in the kernel”

The NIST’s new plan for digital signatures: impact on secure boot

NIST Special Publication 800 – 131AIn October 2024, the National Institute of Standards and Technology (NIST) published an initial public draft of Special Publication 800 – 131A, with the title “Transitioning the Use of Cryptographic Algorithms and Key Lengths”.
It details how the NIST expects the requirements for use of cryptography to protect non-classified information to evolve.

There are several key points, such as abandoning ECB and SHA-1, but the main one this post will investigate is digital signatures.

Continue reading “The NIST’s new plan for digital signatures: impact on secure boot”

Integrating ST7789H2 Display Support on STM32L562E-DK with Zephyr: A Step-by-Step Guide

Zephyr LogoThis blog post is a continuation of our series of blog posts on Zephyr, in which we already discussed Getting started with Zephyr, Understanding Zephyr’s Blinky Sample, and Zephyr: implementing a device driver for a sensor.

In this fourth blog post in our series, we will see how to add support in Zephyr for the display panel available on the STM32L562E-DK board.

Continue reading “Integrating ST7789H2 Display Support on STM32L562E-DK with Zephyr: A Step-by-Step Guide”