Yocto Workshop at Embedded Recipes 2025
Historically Yocto has not provided tools and standard formats for setting up and replicating build configurations in a reproducible manner, leaving that to third party projects and custom scripts. In the past few months this has been changing, and many of the pieces are now available out of the box in oe-core/poky, or are under review. This talk will give an overview of what is available and how it can be used to both write a record of how to build a complete system, and to replicate that build elsewhere with that record. It will also cover parts that still need to be added, and possible future directions for build configuration management.
Back in the day, we sometimes found ourselves in the development phase with a Linux image that was running perfectly and meeting all functional requirements. But when it came time to move it to production, install it on products, and ship it to end users, we suddenly realized that passwords needed to be changed and some developer tools had to be removed because they were unnecessary and could potentially aid attackers.
This is where dual images come into play.
Using the Yocto Project as a case study, we will share best practices for configuring and deploying dual images:
- development images with interactive tools for software engineers,
- and streamlined, secure production images for end-user deployment.
We will focus on how to maintain consistency between images, avoid common pitfalls like filesystem configuration and shell interpreter differences, and minimize security risks in production environments.
Who said that Yocto comes only with 4 years of support? BitBake is so flexible that it's very easy to use the latest release to support very old hardware and games with very little added code. I'll show you how to create kernel and bootloader recipes to support a 17 year old board, tweak the device tree to add an I2C joystick, create a new machine, create a new recipe for an old game, and even a custom distribution to play PacMan on an ASCII display, using the joystick.
Zero polygons, infinite possibilities!
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.
RISC-V has joined us as the latest platinum member. What does this mean, what will happen next? Lets look at the current state of affairs, understand which parts of infrastructure already are in place, and try out some things which might already be working right away.
As an industrial company, having several hundreds of thousands IoT products on the market connected to the cloud, we have to respect the following rules:
- by 1 august 2025, "RED DR" (Radio Equipment Directive Delegated Regulation): Delegated regulation - 2022/30 - EN - EUR-Lex
- by 11 december 2027, "CRA" (Cyber Resilience Act): Regulation - 2024/2847 - EN - EUR-Lex
We think that the secure boot is important for the safety of our customers and then we created three different boot:
- PRODUCTION – with all enforcements enabled
- DEVELOPMENT – minimal enforcements allowing debug
- SWUPDATE – with all enforcement to allow to flash the PROD via OTA
How to have only one poky-tmp and not three to save cost and time?
Moreover due to Continuous Integration pull request approval workflow the build per year will increase. We have not found in the web and asking to many Yocto developers any proper solution so we hope to find it here at Yocto Project® Workshop at Embedded Recipes 2025.
During this session, take a 5 minutes slot to join the stage and share what you're doing with Yocto - New recipes, new layers, new tooling, or just what you're trying to do and the challenges you're facing.
If you are interested, add your name to https://wiki.yoctoproject.org/wiki/Yocto_Project_Workshop_Embedded_Recipes_2025 or ask me to do it.
This session is meant to spark experience sharing and create collaboration opportunities between participants. You can even join the stage without slides.
I know at least one person has a how to do something question. Bring your problems and I will help you get answers in real time. We can also use this time for project talks if Michael goes over.
Megan asked for a slot.