Designing Embedded Systems with Yocto ONLINE

Standard Level – 5 sessions                                                 CEST time: 10:00 – 14:00

view dates and locations

PLEASE NOTE: This is a LIVE INSTRUCTOR-LED training event delivered ONLINE.

It covers the same scope and content, and delivers similar learning outcomes, as a scheduled face-to face class.

The Yocto Project is ideal for rapid prototyping and provides the tools and processes required to develop an embedded Linux-based product. The collaboration has widespread support from leading hardware manufacturers, open-source operating systems vendors, and electronics companies looking to address the challenges of developing embedded technology.

This course from Doulos Embedded has been designed to help you understand how to use the Yocto Project tools to manage key components of a Linux distribution: toolchains, bootloaders, kernels and package management systems. You will learn how to use a Yocto Project based toolchain and tools to develop, debug and test your software, as well as how to use Yocto to customize and maintain an Embedded Linux distribution for multiple boards.

Who should attend?

  • Engineers who are migrating to a Yocto Project based distribution environment
  • Project managers and engineers who are evaluating the use of Linux for their projects
  • Project managers and engineers who are considering supporting their own Linux distribution and tools
  • Engineers responsible for build systems and software releases


Project managers: This course is designed for those looking to maximise their effectiveness in utilising Yocto to complete embedded systems projects on time and in budget. New Linux projects and projects, which will require a long term maintenance cycle, would benefit from investigating the components of the Yocto Project. The Yocto Project infrastructure is suitable for Linux projects of any size. Starting from a minimal Linux system, it can be scaled up by integrating additional software in a managed environment.

Engineers: This course outlines how development teams can directly benefit from the tools and SDKs produced by the build system. It clearly separates development cycle tasks from the tasks required to integrate, maintain and distribute software.


The format of Live ONLINE training from Doulos is focused on delivery of a single 4 hour intensive session per day. This includes live tuition and class interaction with the Doulos subject matter expert during the full scope of each session.

Labs are incorporated within the 4 hour sessions with the Doulos lab platform providing individual (private) tutor support at all times for each delegate. On occasion, labs may require time outside of the 4 hour session to complete. Additional lab material is available in some subjects for individuals to reinforce their understanding of the course content.


Delegates must have attended Developing with Embedded Linux or an equivalent course, or have some experience of using Linux for Embedded Systems. Please contact Doulos to discuss and assess your specific experience against the pre-requisites.

Course materials

Doulos course materials are renowned for being the most comprehensive and user friendly available. Their unique style, content and coverage has made them sought after resources in their own right. The materials include fully indexed class notes creating a complete reference manual.

Structure and Content

Session 1

Yocto Kick-start:

  • What is Yocto?
  • Host setup & system requirements
  • Downloading Yocto
  • Embedded Linux components
  • Using Yocto to build U-Boot, a Linux kernel and a filesystem
  • Booting a Linux board

Yocto Build System:

  • Bitbake and OpenEmbedded
  • Metadata file types
  • User configuration files
  • Layers, recipes and classes
  • Using Hob to build an image

Session 2

Yocto Outputs:

  • A closer look at the deploy directory
  • The sysroot directories
  • The working directories
  • The Yocto SDKs
  • The package feeds

Manage Custom Layers:

  • Appending packages to a filesystem image
  • Managing new layers using Git
  • Image and package recipes
  • Using layers to modify recipes
  • Creating a new distribution

Session 3

Package Management

  • Linux package management tools
  • Package updates through HTTP
  • Package release versioning
  • Debug and release packages (split)

The BitBake Tool

  • The global datastore
  • Conditional variable assignment
  • Functions and tasks

Session 4

Build System Trouble Shooting

  • BitBake log files
  • QA error messages
  • Using the BuildHistory
  • Changing recipe build features

Development Workflow

  • Choosing a toolchain mode (TCMODE)
  • Developing inside the Yocto build system
  • Using a pre-built SDK
  • Development and debug image features
  • TFTP boot and NFS root filesystems

Development Tools:

  • Building projects using Makefile, Autotools, Cmake or Qmake
  • Debugging an application from the command line (gdbserver)
  • Using the Eclipse remote tools (TCF)
  • Systems and application profiling tools
  • Re-building U-Boot
  • Re-building the Linux kernel
  • Automated tests

Session 5

Application Integration:

  • Creating a new application package layer
  • Managing package dependencies
  • Masking recipes
  • Choosing Yocto graphics back-ends
  • Managing licence files

Systems Integration:

  • Creating a new BSP layer
  • Patching existing kernel/U-boot code
  • Linux-yocto compatible kernels
  • Kernel out-of tree module recipes
  • Managing multiple board configurations

Additional Yocto Layers

  • Finding new Yocto compatible layers
  • Exploring meta-browsers
  • Exploring meta-security


27 april 2020 - 01 mei 2020

Your home office


€ 0,00
35 Xilinx Training Credits

Training brochure


Registratie op aanvraag, neem contact op met ons.