Blog
Notes from building [yoe] — design decisions, lessons from real edge deployments, and progress reports.
-
AI in the Build Loop [yoe]
[yoe] installs Claude Code skills into your project. When a unit fails to build, press `d` and the agent reads the build log and fixes it.
-
Is It Time for a New Embedded Linux Build System?
Edge devices now behave like cloud systems, and software has outgrown cross-compilation. Why a growing class of small teams needs a build system shaped for that job.
-
End-to-End Testing Across the Whole Matrix
Every night, [yoe] builds six images — ARM and x86 across Alpine, Debian, and Ubuntu — boots each one under QEMU, and SSHes in. If login breaks on any of them, we find out before you do.
-
Adding Ubuntu — almost for free
[yoe] now builds Ubuntu images too. Because it's apt underneath, the second distro in the family cost a fraction of the first — the backend isn't Debian support, it's apt-family support.
-
Adding Debian — and what it weighs
[yoe] now builds Debian images alongside Alpine. Each backend is a real tradeoff — Debian brings a far larger package catalog, Alpine a much smaller and faster image — measured side by side on the same target.
-
It's Not About Competition
A new approach to embedded Linux doesn't have to mean Yocto loses. The market is expanding, and there's room for tools that serve teams with different priorities.
-
Fast Binary Packages from the APK Index
[yoe] used to wrap Alpine packages as thousands of generated files. It now parses the APK index directly and constructs virtual units on demand — only for the packages an image actually uses.
-
Qt Support in [yoe]
Qt now builds and runs under [yoe]. The interesting part isn't Qt itself — it's that the toolkit comes from Alpine binaries wrapped as units, and the whole graphical loop runs in QEMU on your workstation.
-
[yoe] Is Now Self-Hosting
The build system can build itself — boot a [yoe] image, run [yoe] on it, and build another image inside. The payoff is native ARM64 builds on a Raspberry Pi 5.
-
Running [yoe] on a Beagle Play
The build system now boots a TI AM625 board through a four-stage bootloader — and Claude wrote most of the BSP from a single prompt.
-
Why the Build Tool Is a TUI
A web or native UI would be more capable, but a terminal UI puts [yoe] in the same place as every other tool a developer already uses — and that proximity is the feature.
-
Editing a Unit's Source Without Leaving the Build
How [yoe] flips a unit between a pinned release and a live development checkout — edit, build, deploy, then pin the result back into the recipe.
-
When LTS fits — and when it doesn't
Long-Term Support makes sense for static embedded systems. Dynamic edge systems need a different model — and a different build tool.
-
Pip and Npm Belong on the Target too
How [yoe] packages Python virtual environments and Node/Bun dependency trees so application developers keep the workflow they already use.
-
First Walkthroughs: Overview and Package Deploy
Two short videos covering what [yoe] feels like to use day-to-day — the build loop, and pushing a package to a running target.
-
What a Modern Embedded Linux Build System Could Look Like
Seven weeks in: where [yoe] stands on productivity, complex workloads, and scaling to anything.
-
Hello, [yoe]
Why we started fresh from the Yoe Distribution and built a new embedded Linux build system.