Course
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.
Module 1
Getting Started
3 lessons
Module 2
Creating the System
2 lessons
Module 3
Recipes
3 lessons
Module 4
Understanding the Build
5 lessons
- 1Dependencies and SysrootsHow build-time and runtime dependencies affect recipe sysroots, native tools, and final images
- 2Recipes, Packages and Package SplittingHow one recipe can generate several packages, how files are assigned to them, and how to inspect the result
- 3Understanding What BitBake DidA practical diagnostic workflow for inspecting metadata, layers, packages, tasks, and recipe work directories
- 4Working with VariablesHow to set, override, and manipulate variables in the Yocto Project
- 5BitBake Tasks and ClassesUnderstanding task execution, recipe flow, and how classes provide reusable build behaviour
Module 5
Platform Development
3 lessons
- 1Machine Configuration and BSP BasicsHow machine settings, BSP layers, and hardware-specific metadata shape a Yocto build
- 2Kernel and Boot CustomisationHow to customise the Linux kernel, configuration fragments, and boot-related behaviour in Yocto
- 3Working with WKS Files in YoctoHow Wic uses .wks files to create deployable disk images
Module 6
Development and Debugging
3 lessons
- 1Debugging Yocto BuildsHow to inspect BitBake output, read task logs, and troubleshoot common recipe and build failures
- 2Using devtool in YoctoHow to use devtool to create, modify, build, test, and finish Yocto recipe changes
- 3SDKs and Application DevelopmentHow to generate SDKs and support application development workflows outside the full Yocto build environment
Module 7
Maintaining a Production Yocto Project
3 lessons
- 1Reproducible Releases and Project MaintenanceHow to turn a working Yocto build into a release that can be rebuilt, patched, and maintained later
- 2Build Infrastructure, Caches and CIHow downloads, shared state, mirrors, clean builds, and CI fit into a maintainable Yocto workflow
- 3Licensing, SBOMs and Vulnerability ManagementHow license metadata, SPDX SBOMs, CVE checking, and vulnerability decisions fit into a Yocto release process
Module 8
Validating and Operating a Yocto Product
4 lessons
- 1Testing and Quality AssuranceHow Yocto build QA, package tests, runtime image tests, and product validation fit together
- 2Package Feeds and Runtime Package ManagementHow Yocto package feeds, package indexes, and runtime package managers fit into deployed systems
- 3Preparing an Image for ProductionHow to move from a development-friendly Yocto image to a product image that is deliberate, reproducible, and reviewable
- 4Analysing Changes Between BuildsHow to use source control, task signatures, and buildhistory to understand differences between Yocto builds