📦 Release first ⏩ Ship faster ⚡

✏️ Editing source without leaving the build

Editing the source of a unit is one of the most common things you do while building an embedded Linux system. You hit a bug in an application, you need a patch in the kernel, you want to try a change before it lands upstream. In most build systems that means dropping out of the tool, cloning the repo somewhere else, wiring up a patch or a local override, and rebuilding.

A recent walkthrough shows yoe doing the whole loop in place. Every unit pins to a release tag by default — the right shape for a reproducible build, the wrong shape for making a change. One key switches the unit into development mode: yoe re-points the checkout at the upstream repository over a remote you can push to, and the cache key shifts from the pinned tag to a git diff of the working tree. Change a line and the cache invalidates on its own. Build, deploy to the target with a single key, and watch the change land.

When the change is worth keeping, commit it and pin the recipe to the new commit. The unit is reproducible again, now at your change.

Two goals have been constant here: shrink the idea-to-running-image loop, and keep application development tightly coupled to the system build. This is that idea applied to source — one tool, one screen, a clean switch between a pinned release and a live checkout, with nothing extra between you and the code.

Editing source without leaving the build

Cliff Brake May 16, 2026 #embedded #linux #yocto #workflow #productivity #git #tooling #upstream