System DesignBoot Confirmation: Who Decides an Update Worked?
A bootloader boot counter catches dead boots; only a userspace check sees a dead application. How to design boot confirmation for a…
Architecture and trade-off decisions behind embedded Linux products — how and why to choose one design over another.
System DesignA bootloader boot counter catches dead boots; only a userspace check sees a dead application. How to design boot confirmation for a…
System DesignContainers vs packages on embedded Linux: how to deliver and update the application layer on a device that already has an A/B…
System DesignSecure boot key custody decides where your firmware signing key lives. Compare build-tree keys, restricted servers, HSM signing and detached signing.
System DesignPrivate kernel patches and out-of-tree drivers are recurring maintenance costs, not one-time work. How to classify, measure and bound your downstream delta.
System Designsystemd vs BusyBox init for embedded Linux: what each one costs in size, dependencies and kernel version, and how to choose.
System DesignIn-tree vs out-of-tree driver: why upstreaming hardware you own usually costs less over a product life, and when an external module is…
System DesignHow to choose a root filesystem format for embedded Linux: ext4, f2fs, squashfs with overlayfs, or UBIFS on raw NAND — and…
System DesignSymmetric, asymmetric, split, or rescue-augmented: pick the A/B update layout that matches your storage, boot time, and release cadence.
System DesignYocto vs Buildroot for embedded Linux products: how the two build systems differ, when each wins, and what your choice costs you…
System DesignHow to architect mainline-friendly products: connector design with DT overlays, a vendor checklist for tech leads, and the steps to upstream board…
One email every two weeks — the best of our kernel & embedded writing, plus a hand-picked link or two. No spam.
// 1,200+ embedded engineers already read it
We email occasionally and never share your address.