Chris Simmonds

Chris Simmonds

Looking after the inner penguin

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

Current sessions

How did Linux become a mainstream embedded operating system?

Today, Linux is woven into the fabric of our technology. Printers, routers, TVs and Smartphones all have their own "Inner Penguin". Yet it was never intended to be used beyond desktops and servers. A lot of things had to happen before Linux could break out of the PC environment and make its way in the world as a jobbing jack-of-all-trades.

This talk follows the evolution of Linux as it morphed from a desktop operating system into something truly flexible that could be used to control devices of all shapes and sizes. It had to be made smaller, and more portable. It had to be able to read and write flash memory. Tools like Buildroot, OpenEmbedded and the Yocto Project had to be created to
help put everything together.

Each of these steps was initiated by individuals or small groups of people, each having a profound affect on the direction and capabilities of the whole project. Looking to the future, it is clear that embedded computing is going to play an ever increasing part on our lives. It is my belief that developers will continue to step up and adapt Linux to match the new computing landscape.

Fast Track to OpenEmbedded and Yocto Project

If you are working with embedded Linux you will be aware that the Yocto Project is a key component for generating device firmware. This intensive two day workshop will teach you how to make effective use of OpenEmbedded and Yocto Project to create highly functional, reliable system images for your target device. It will show you how to select packages, how to customise system behaviour, and how to create your own meta layers. With the relevant information under your belt you will have your embedded Linux system up and running in no time!

This workshop is ideal for software engineers who are familiar with embedded devices but need to apply that knowledge to Linux development,
and to those who are familiar with Linux, but want to apply that knowledge to embedded systems.

Attendees should know C/C++ pretty well, and be familiar with Linux command-line tools such as 'find', 'grep' and 'make'

Laptop setup
About half of this workshop is dedicated to hands-on sessions. Consequently you will need to bring a laptop along with you. Pretty much any recent laptop be fine so long as it has at least dual cores and more than 4 GB memory, but *no Macintoshes*. I will provide USB flash drives (which are yours to keep) with a copy of Ubuntu pre-installed. You just need boot your laptop from the USB drive. Please note that this means you must be able to able to change your BIOS settings to boot from an external USB device using legacy boot mode