Step-by-Step Guide to Adding SoC and Board Support to Zephyr with CH32V303

ZephyrThis post is the sixth in our series 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
  5. Zephyr: making a driver for the Nunchuk joystick

In this sixth post, we will explore how to add support for a new System-on-Chip (SoC) and a new board in the Zephyr operating system.

Continue reading “Step-by-Step Guide to Adding SoC and Board Support to Zephyr with CH32V303”

Bootlin engineer Louis Chauvet at the 2025 Display Next Hackfest

Like last year, Bootlin engineer Louis Chauvet is attending the 2025 Display Next Hackfest, taking place this week in Toronto, Canada, and hosted by AMD.

As described on the event website:

The Display Next Hackfest is an event where talented developers will gather to explore the latest technologies and trends in the Linux Display Stack. It has an unconference format where participants propose topics for presenting, roadmapping, discussing and examining together. It aims to unblock bottlenecks, design solutions, raise pitfalls and accommodate the needs of each layer of the display stack. Participants should feel free to propose any topic which interests them. Some topics from the previous edition include: HDR and color management, frame timing and variable refresh rate (VRR), atomic flips, backlight control, testing and CI, etc.

Attending this hackfest is especially important for Bootlin, as it allows us to stay actively involved in the upstream Linux graphics ecosystem. By participating in discussions and collaborative problem-solving sessions with key contributors and maintainers, we ensure that our expertise remains aligned with the latest developments and best practices. This also strengthens our ability to support our customers with state-of-the-art display integration and driver development, while contributing improvements and fixes back to the community.

Linux 6.15 released, Bootlin contributions inside

Penguin coding, AI generatedLinux 6.15 has been released last Sunday, and we as usual encourage our readers to look at the LWN summaries of the merge window (part 1, part 2) for a good summary. CNX-Software also has a summary more oriented towards hardware support for ARM and RISC-V platforms.

On our side, we have been quite active in this release cycle, with no less than 145 commits from Bootlin engineers merged. Also, our engineers who maintain various subsystems in the Linux kernel reviewed and merged a total of 104 patches from other contributors.

Continue reading “Linux 6.15 released, Bootlin contributions inside”

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”