Room 4 

16:20 - 17:20 


Talk (60 min)

The Challenges of Embedded Linux

Running Linux as an embedded operating system throws up a few challenges. I will highlight some of the main points to give you an idea of how Embedded Linux differs from “Normal” Linux.


The first challenge is the hardware: embedded devices are often designed for a price, which means slow CPU, not much RAM, not much storage: hardware that is definitely not powerful enough to compile the programs that it will run. In consequence, Embedded Linux almost always involves cross compilation utilising build tools such as Yocto Project

Next, consider the type of workload. Typically, it involves reading from sensors (buttons, dials, cameras) and using the information to create some kind of output, from example an alert. This is real-time computing. Fortunately, modern Linux is pretty good at soft real-time and quite good at hard real-time – these are terms that I will discuss in the talk
Thirdly, bear in mind that there is no admin to come along and apply a patch or reboot when things go wrong. We need robust methods of pushing updates to the target, of rebooting when things go wrong and of remote logging of critical errors.

These are just three examples of what makes Embedded different; there are others. So, please come along to this talk if you have ever wondered about the devices that surround you and how the Linux that many of then contain is put together

Chris Simmonds

Chris Simmonds is a software consultant and trainer living in southern England. He has spent almost two decades designing and building open-source embedded systems of all shapes and sizes, and he has encapsulated much of that experience in his book, “Mastering Embedded Linux Programming”.

He is a frequent presenter at open source and embedded conferences, including the Embedded Linux Conference and Embedded World. You can see some of his work on the “Inner Penguin” blog at