How Containers Improve the Management of Embedded Linux Distros for IoT

The embedded Linux appliance industry is changing from making innovative apps for low-cost, low-spec devices to one where powerful hardware runs more complex applications. While resource-intensive devices will become the norm, the low-end will still be the ones delivering the volume and the backbone of the consumer industry in today’s embedded Linux Internet of Things (IoT) ecosystem. With the explosion of the connected IoT on the intelligent edge, it’s more important than ever to keep devices up to date and secure. We discuss the challenges faced by embedded engineers on managing firmware and their apps on low-spec embedded devices. Finally, we’ll describe how containers and other cloud-native technologies can help automate and make IoT Linux distros secure and portable.  

Top Three Challenges in Managing Low-Spec Embedded Devices

#1. Keeping Embedded Systems Lean Across Diverse Hardware

Most embedded devices for IoT are single-function and single-purpose, and they are fitted with minimal hardware capabilities that support their intended purpose. In addition, the diverse set of hardware can have limited flash memory with a minimum of 32 MB of NAND, NOR, or EMMC storage with a minimum RAM of 64 MB. These constraints, as well as the diversity of hardware, can limit its processing and networking capability. 

Toward a Universal Embedded Linux System

At a recent Linaro Connect event that took place this past fall, Alexander Sack (@asacasa), CTO of Pantacor, delivered a talk on the Linux Distro and how it is relevant in today's embedded world of the Internet of Things (IoT). Alexander gives us insightful context on the birth of Linux and the embedded world, and where it is going today. He spoke on the history of the Linux Distro and drew parallels with how the embedded development ecosystem is changing. Much like the early days of Linux, the embedded Linux world also needs to embrace automation and take advantage of containerization in order to make infrastructure frictionless and invisible. 

Alexander started us off with an overview of how Linux started and how it has progressed from a hobbyists/tinkerers platform to a reliable and secure OS that today basically runs the Cloud. From the early aughts (the 00s) and onward, there were many different distributions like RedHat, Debian, Suse, and others whose goal was to make Linux reliable, easy to use, and secure. These distributions were created by large, vibrant communities of developers who donated their free time to contribute to open source Linux projects. Even though Linux gained a lot of traction in those early days, it still took quite a bit of effort and technical ability to integrate a distribution before you could deploy it and use it on a server to run your applications.