I’ve been building products using embedded Linux for the past 20 years. The first time I tried OpenEmbedded (the precursor to Yocto), it felt like a gift to be able to run a single command and build a bootable ARM image from my x86 workstation. But things are changing. We have more and more components (both hardware and software) available. We have AI tools. We have powerful processors with loads of memory. Small teams (startups and industrial companies building small/medium volume connected products) want to do bigger things, yet they struggle with the complexity of stitching it all together, miss their shipping dates, and strain to maintain these systems once they’re in the field. This article explores what has changed, and how we can build and maintain embedded Linux systems more efficiently. The Embedded Systems Golden Age We live in a remarkable time for embedded systems engineering. We have: A large number of Linux system-on-modules (SOMs), perfect hardware building blocks for industrial products.…