Yocto Project Training

This course takes engineers from the fundamentals of the Yocto Project through to building, customising and maintaining a production Embedded Linux system. It combines explanation with practical exercises covering BitBake, recipes, layers, images, configuration, debugging and the techniques needed to work effectively with a real Yocto-based product.

8 modules · 26 lessons

Getting Started

3 lessons

  1. 1Introduction to the Yocto ProjectFrom your first build to a maintainable embedded Linux product.
  2. 2Setting up the SystemSetting up the system to build the first image
  3. 3Tools for Setting up the SystemUsing kas and bitbake-setup to create reproducible Yocto build environments

Creating the System

2 lessons

  1. 1Creating a DistributionCreating your own distribution
  2. 2Images and PackagesHow Yocto images are built from packages and how to control what goes into them

Recipes

3 lessons

  1. 1Creating Yocto RecipesHow to create a practical Yocto recipes and add them to an image
  2. 2Simple RecipesHow to write practical BitBake recipes for common application types
  3. 3Changing Yocto RecipesHow to change an existing recipe

Understanding the Build

5 lessons

  1. 1Dependencies and SysrootsHow build-time and runtime dependencies affect recipe sysroots, native tools, and final images
  2. 2Recipes, Packages and Package SplittingHow one recipe can generate several packages, how files are assigned to them, and how to inspect the result
  3. 3Understanding What BitBake DidA practical diagnostic workflow for inspecting metadata, layers, packages, tasks, and recipe work directories
  4. 4Working with VariablesHow to set, override, and manipulate variables in the Yocto Project
  5. 5BitBake Tasks and ClassesUnderstanding task execution, recipe flow, and how classes provide reusable build behaviour

Platform Development

3 lessons

  1. 1Machine Configuration and BSP BasicsHow machine settings, BSP layers, and hardware-specific metadata shape a Yocto build
  2. 2Kernel and Boot CustomisationHow to customise the Linux kernel, configuration fragments, and boot-related behaviour in Yocto
  3. 3Working with WKS Files in YoctoHow Wic uses .wks files to create deployable disk images

Development and Debugging

3 lessons

  1. 1Debugging Yocto BuildsHow to inspect BitBake output, read task logs, and troubleshoot common recipe and build failures
  2. 2Using devtool in YoctoHow to use devtool to create, modify, build, test, and finish Yocto recipe changes
  3. 3SDKs and Application DevelopmentHow to generate SDKs and support application development workflows outside the full Yocto build environment

Maintaining a Production Yocto Project

3 lessons

  1. 1Reproducible Releases and Project MaintenanceHow to turn a working Yocto build into a release that can be rebuilt, patched, and maintained later
  2. 2Build Infrastructure, Caches and CIHow downloads, shared state, mirrors, clean builds, and CI fit into a maintainable Yocto workflow
  3. 3Licensing, SBOMs and Vulnerability ManagementHow license metadata, SPDX SBOMs, CVE checking, and vulnerability decisions fit into a Yocto release process

Validating and Operating a Yocto Product

4 lessons

  1. 1Testing and Quality AssuranceHow Yocto build QA, package tests, runtime image tests, and product validation fit together
  2. 2Package Feeds and Runtime Package ManagementHow Yocto package feeds, package indexes, and runtime package managers fit into deployed systems
  3. 3Preparing an Image for ProductionHow to move from a development-friendly Yocto image to a product image that is deliberate, reproducible, and reviewable
  4. 4Analysing Changes Between BuildsHow to use source control, task signatures, and buildhistory to understand differences between Yocto builds