Patching Unpatchable Files

Patching Unpatchable Files

In the Yocto world, the .bbappend file is a well-known and documented mechanism for altering recipe files, and an essential part of daily operations. While not common, there are instances where it becomes necessary to modify other file types, such as .inc or .bbclass, which do not offer an equivalent append mechanism. This session will summarize various strategies for effectively handling these file types when patching cannot be avoided.

In my recent presentation at the Yocto Developer Day in Vienna, I mentioned using the KAS patch mechanism for minor modifications to files like .inc or .bbclass, where the Yocto internal overwriting mechanism via .bbappend files does not apply. Initially intended as a helpful side note on how I navigated a few unique situations, this part quickly escalated into the most discussed segment of the talk. Half of the attendees I spoke with found it valuable, while the other half expressed strong objections.

In this follow-up session, I aim to dive deeper into the complexities of working with these “unpatchable” files and explore the following key questions:

In which situations is patching valid? What strategies and approaches —both well-known and lesser-known— are generally available? Which strategy is best suited for different scenarios and use cases? In conclusion, this talk aims to present and document various strategies for addressing the challenge of “patching unpatchable files” and to encourage discussions on best practices.

Presented at

  • Yocto Project Summit 2024.12, virtual

Download slides

Related Posts

Yocto Vendor BSPs - The good, the bad, the ugly

Yocto Vendor BSPs - The good, the bad, the ugly

Vendor Board Support Packages (BSPs) promise a quick start, but we all know the reality: a tangled mess of demo apps, weird custom tools, and an old, unmaintained kernel. This is a nightmare for products that need to live longer than a demo on the developer’s desk.

In this talk, we get our hands dirty. Forget the polished slides; we’re going to take a live, no-holds-barred look at some real-world vendor BSPs to see the common pain points firsthand. From there, we’ll discuss what we actually need from a BSP for a production device and explore the tipping point where setting up your own clean foundation becomes the smarter choice for building products that are meant to last.

Read Post
Yocto on the Edge - Unusual challenges when building not so embedded systems

Yocto on the Edge - Unusual challenges when building not so embedded systems

Building embedded systems with Yocto on ARM platforms is a common practice, but when the products move further to the edge and become less “embedded,” new challenges arise. In this session, we will explore the requirements and challenges faced when developing Yocto-based systems for edge computing based on Intel.

We will dive into topics such as provisioning x86-based platforms, securely managing Linux user logins on a read-only root file system with enforced password changes, and implementing A/B updates together with secure boot. Real-world project requirements will be used as a guide to discuss practical solutions and best practices for addressing these challenges.

Read Post
USB Updates - Challenges, Approaches and Practical Tips

USB Updates - Challenges, Approaches and Practical Tips

Over-the-air updates have established themselves as the standard for networked devices, but the effort involved in operating the server side is not always commensurate with the benefits. In such cases, the supposedly simple and quick solution of implementing updates via USB is often chosen. But is it really always that uncomplicated? What considerations are necessary to implement USB updates effectively?

This presentation provides an insight into the challenges of USB updates and presents solutions and practical tips for successful implementation. Find out which aspects need to be considered in order to optimize USB updates and ensure a smooth process

Read Post