Yocto at Balena: Building ~70 Unique OS’es for IoT Devices
2021-05-25, 12:15–12:45 (UTC), Presentation Room

At balena, we make use of the Yocto project to build unique OS’es for approximately 70 devices across the Arm and x86 single board computer ecosystem. Our resulting images, called balenaOS, include a container runtime and some tooling to connect to balenaCloud, allowing for remote management of the devices. Keeping up with just one BSP layer is hard enough, let alone the many Arm SoC families and their corresponding BSP layers that our customers make use of. Let’s talk about our use-case, the process we use to build and version these OS’es, chat about some challenges we face, and gather feedback from the community to improve the overall experience.


The Yocto Project enables us at balena to (relatively) easily build support for about 70 or so single board computers and small devices, intended to be used as IoT endpoints running containerized workloads. The resulting output of our build is called balenaOS, and it is of course a minimal linux distribution, targeting devices such as the Raspberry Pi series, Beagleboards, Jetson products, Intel NUC’s, and other similar systems. In the spirit of Yocto, balenaOS is also open source, and there is a community of developers who contribute board support, patches, fixes, etc.

This session is intended to be a dialogue and conversation. I’ll cover the use-case, process, and challenges we face, but I am also very interested in getting to know the community better, fielding questions, soliciting feedback, and gathering ideas on how to improve our outcomes.

See also: Slide Deck

David spends a lot of time thinking about how technologies built for the Cloud are now leaving the Datacenter, and being implemented at the Edge and in small IoT devices. Developer Advocate at balena, Arm Innovator, and energy-efficient computing fan.