Products built on embedded systems are now ubiquitous, powering devices ranging from small control and measurement units to high end home entertainment systems.

Linux is the natural choice for high performance embedded systems, with native support for architectures such as ARM, Mips and PowerPC. The array of developer tools and vast library support makes it quick and painless to get a system up and running, allowing developers to focus on their product.

Yocto Project is presently the most widely used tool for developing embedded systems on Linux.

Embedded Development in Yocto
Embedded Development in Yocto


The course covers the underlying philosophy of Yocto Project and how it relates to other open source projects. We also consider getting started with Yocto development and look in depth at the build system, recipe development and architectures.

Theory is mixed with demonstrations, exercises and discussion, the emphasis being on the latter. The exercises include, for instance: Adding recipes to an image, creating recipes, as well as generating and using SDK's.

After participating in the course, you'll have a good grasp of the opportunities offered by Yocto Project. You'll understand how to develop embedded systems using Yocto and a good insight into the key concepts.


Developers working with Yocto-compatible build systems.

Participants are expected to be familiar with Linux/Unix.

Embedded Development in Yocto

Day 1

  • Overview of Yocto Project
  • Quick start
  • Bitbake
  • Recipes -- types, writing, appending, revision, etc.


Day 2

  • Classes
  • Layers -- layout, design guidelines, available layers
  • Yocto Kernel -- architecture and uses
  • SDK generation and use
  • Build time reduction -- state cache