Round-Up of the Yocto Project Summit 2024.12

Episode 57

Dear Reader,

What makes Japanese people distinctively Japanese? For me, the key lies in what we are taught during our elementary school years.

Children as young as 6 are given the responsibility to clean their own classrooms and serve one another lunch. Schools are structured like mini societies, where everyone has a role and is expected to contribute to the community. There’s a strong focus on nonacademic education intended to teach teamwork, work ethic and a sense of accomplishment.

Ema Ryan Yamazaki, What a School Performance Shows Us About Japanese Education, The New York Times, 2024-12-22 (emphasis mine)

Over the last year, I got convinced that the embedded ecosystem could use a big dose of teamwork. I implemented an OTA update solution and secure boot. As a system integrator, I hooked up the application with the operating-system layer. The target device sports an iMX8M Plus with internal eMMC storage.

None of the OTA-update vendors provides a ready-made solution for the iMX8M Plus, which is one of the most common SoCs together with all the other iMX SoCs. I had to make sense of dozens of pages of documentation and find out why the client or server don’t work as expected and why they don’t work together. Of course, every vendor has its own Yocto layer. No vendor provides a proper API to perform updates. I had to create the API for my customer.

By ready-made solution, I mean that I specify the update client and server (e.g., SwUpdate/Memfault, RAUC/QBee, Mender or Torizon Cloud), the partitioning of the eMMC storage and the update strategy. Furthermore, all vendors should implement the same API, which customer applications would use to perform OTA updates. Vendors could provide OTA updates as a microservice.

The situation with secure boot is similarly bad. The SoC makers leave it to the SoM makers to provide a solution. Many SoM makers offer nothing, some a partial solution with some issues, and one or two a fairly complete solution. All solutions have in common that they only work for the SoMs of one manufacturer. Migrating such a solution from one SoM maker to another is a tough exercise with a high chance to fail. So, you are locked in to a specific SoM vendor.

The secure-boot solutions have something else in common. None of them helps you with storing and installing the private and public keys on the build server and on the device. I had to create a good-enough solution for my customer.

How can teamwork improve the situation? Teamwork would mean that all the players upstream their work. This would force these players to separate machine-dependent parts cleanly from machine-independent parts. The players in the embedded industry do not have to reinvent the wheel over and over again. Instead, they can incrementally improve the work of others.

For SoC makers like NXP and TI, it should be paramount to make the SoM, SBC and terminal makers give back their extensions and improvements to the upstream BSP layers or to the more general distro layers. The SoC makers should play an active role in integrating work into upstream layers to avoid fragmentation and lock-in.

ARM has created a company with Linaro that strives to make it easier and quicker for OEMs to bring embedded systems with ARM chips to the market. It is a huge task and Linaro could definitely use some help. We, the embedded industry, would benefit significantly from better teamwork!

Now enjoy my summary of five talks from the Yocto Project Summit 2024.12. The presenters have understood teamwork. These experts give you a lot of actionable advice for free. This advice will save you and your employers a lot of time and money. Please honour their generosity. Don’t try to squeeze even more free advice out of them, but think about how you can make the embedded industry a little bit better.

I wish you all a merry Christmas and a happy new year!
💜 Burkhard 💜

Read next