Course Outline


Overview of an embedded Linux system architecture

Overview of Pocky and bitbake

Preparing your development environment

Preparing your target development board and toolkits

Understanding the Yocto Project source tree

Building an image

Using the Toaster web interface to initiate builds

Adding packages to the generated image

Understanding Board Support Packages (BSPs), recipes, configurations and layers

Writing a recipe

Overview of some existing build systems - Autotools, CMake, Meson

Building, configuring and adding a custom application

Troubleshooting build failures

Fixing common cross-compilation issues

Customizing the build with layers

Extending existing recipes

Writing a custom machine configuration

Adding and managing runtime packages

Adding a custom image

Creating a custom image

Generatig rootfs

Using the Yocto Project SDK

Develop an application using the Poky SDK

The Application Development Toolkit

Closing remarks


  • The participant must have built a kernel at least once for a traditional desktop (non-embedded) Linux system.
  • Knows what components the Linux userspace on a desktop system is composed of.
  • Knows how to generate and use patches.
  • Must be able to explain what is GNU Make, Autotools, what other build systems exist.
  • Ideally, maintains at least one Linux package, either as an upstream author, or in any traditional Linux desktop distribution.
  • Prior experience with embedded development is not required, and is not a substitute for the knowledge about traditional Linux desktops specified above.


  • Developers
  • System engineers
  • Test engineers
  • System administrators
  28 Hours


Related Courses

Buildroot: a Firmware Generator for Embedded Systems

  7 hours

Embedded Linux Systems Architecture

  35 hours

Embedded Linux Kernel and Driver Development

  14 hours

Introduction to Embedded Linux (Hands-on training)

  14 hours

Embedded Linux: Building a System from the Ground Up

  14 hours

Embedded GNU/Linux Kernel Internals and Device Drivers

  35 hours

Embedded Linux on RP2

  14 hours


  35 hours

LEDE: Set Up a Linux Wireless Router

  7 hours

Shadowsocks: Set Up a Proxy Server

  7 hours

TensorFlow Lite for Embedded Linux

  21 hours