Training > IoT & Embedded Development > Embedded Linux Platform Development with Yocto Project (LFD460)
INSTRUCTOR-LED COURSE

Embedded Linux Platform Development with Yocto Project (LFD460)

Embedded products increasingly require custom Linux images that are reproducible, maintainable, and ready for new security regulations. The Yocto Project provides the build system for this work, but using it well across a full product lifecycle takes structured practice. This course builds that capability using Yocto Project 6.0 LTS, the current long-term support release.

Who Is It For

Embedded Linux developers, platform engineers, and BSP developers who build custom images for specific hardware and need to start, migrate, or maintain a Yocto Project setup.
read less read more
What You’ll Learn

Build standard and custom images with BitBake, and assemble layers, machines, and distributions for specific hardware. Customize the kernel and bootloader, use devtool for recipe development, and produce SBOMs, CVE scans, and license-compliance reports.
read less read more
What It Prepares You For

Own the embedded Linux platform for a product line, from board bring-up through sustained releases. Take responsibility for the software supply chain and regulatory compliance, including the artifacts required under the EU Cyber Resilience Act.
read less read more
Course Outline
Expand All
Collapse All
Introduction
- Objectives
- Who You Are
- The Linux Foundation
- Copyright and No Confidential Information
- The Linux Foundation Training
- Certification Programs and Digital Badging
- The Linux Foundation THRIVE-ONE Subscriptions
- Things Change in Linux and Open Source Projects
How to Work in OSS Projects **
- Overview on How to Contribute Properly
- Know Where the Code is Coming From: DCO and CLA
- Stay Close to Mainline for Security and Quality
- Study and Understand the Project DNA
- Figure Out What Itch You Want to Scratch
- Identify Maintainers and Their Work Flows and Methods
- Get Early Input and Work in the Open
- Contribute Incremental Bits, Not Large Code Dumps
- Leave Your Ego at the Door: Don't Be Thin-Skinned
- Be Patient, Develop Long Term Relationships, Be Helpful
Lab Environment
- The Lab Environment
- Labs
What is Embedded Linux? **
- Objectives
- Understanding Embedded Linux
- Toolchains and libraries
- Bootloaders
- Kernel
- Root Filesystem
- Knowledge Check
Yocto Project: What It Is and Where It Originated?
- Chapter Overview and Objectives
- From OpenEmbedded to Yocto: How They Fit Together
- Yocto Project and OpenEmbedded Building Blocks
- Creating an Embedded Linux System with the Yocto Project
- BitBake
- Documentation and other resources
- Yocto Project Releases
- Obtaining the Yocto Project
- Environment Setup
- Labs
- Knowledge Check
Exploring the Build directory
- Chapter Overview and Objectives
- Build Directory Overview
- The Build Artifacts
- The Final Outputs
- Labs
- Knowledge Check
BitBake
- Objectives
- BitBake Syntax
- BitBake Configuration and Metadata
- BitBake Execution
- Labs
- Knowledge Check
Layers
- Learning Objectives
- What is a Layer?
- Best Practices
- Using bitbake-layers
- Managing Layers Manually
- Labs
- Knowledge Check
Starting with the recipes
- Objectives
- Basics
- Common Variables
- Minimal C Recipe and Fetching
- Autotooled Recipes
- CMake Recipes
- Python Recipes
- Custom Tasks
- Provisioning
- Labs
- Knowledge Check
Working with Images
- Chapter Overview and Objectives
- The Image Creation Workflow
- Predefined Images
- Extending Existing Images
- Creating Custom Images
- Package Groups
- Features
- Labs
- Knowledge Check
Troubleshooting
- Objectives
- Task Outputs: Logs and Run Files
- Using Debug Statements
- Analyzing the Dependency Graph
- Analyzing the Environment and Variables
- Using the devshell for Debugging
- Labs
- Knowledge Check
Machines and BSPs
- Objectives
- What is a Machine in Yocto Project?
- Understanding BSP Layers
- Exploring Commonly used BSPs
- Configuring the Bootloader and Booting Process
- Labs
- Knowledge Check
Custom Linux Distributions
- Objectives
- Distribution Building Blocks
- Groups and Users
- System Environment and Configuration
- Init Systems and Service Management
- Modifying Existing Distributions
- Creating Custom Distributions
- Labs
- Knowledge Check
Kernel Recipes
- Objectives
- The Yocto Kernel
- Adapting the Kernel
- Device Trees
- Custom Kernel Recipes
- Building from a Local Repository
- Labs
- Knowledge Check
Using the devtool and other Development Tools
- Objectives
- The devtool Workflow
- devtool vs. the Traditional Workflow
- Using devtool for Recipe Development
- Using devtool for Kernel Development
- VS Code Integration
- Labs
- Knowledge Check
Professional Releases and Maintenance
- Objectives
- Software Bill of Materials (SBOM)
- CVE Scanning and Security Reports
- License Management
- License Compliance and Whitelisting
- Long-Term Maintenance
- EU Cyber Resilience Act
- Labs
- Knowledge Check
Closing and Evaluation Survey
- Evaluation Survey

Prerequisites
Learners should be comfortable with the Linux command line, common utilities, a text editor, and at least one Linux distribution at the user level. They should also understand version control, how to compile source code, and package management. Bash scripting, Python, and embedded systems experience (such as cross-compilation, bootloaders, device trees, or kernel configuration) are helpful, but not required. No prior Yocto Project or OpenEmbedded experience is needed; the course starts with the basics and builds incrementally.
Lab Info
Labs run on a Linux build machine tested on Ubuntu 26.04 LTS and Debian 12. The build machine should have at least 4 CPUs, 32 GB of RAM, and 140 GB of free disk space; 300 GB is recommended to hold the downloads and shared-state caches used during the labs.
Reviews
Feb 2026
I liked the section on the Linux kernel, and ways to customize it.
Dec 2025
The order in which we go through things is a bit clearer than other resources, we don't skip over fundamentals vs. starting with a guide from a vendor (somebody who has a board using the Yocto project).
Dec 2025
The flow of the material (beginning sections through to the end) seemed to make sense, and were easy to follow.
Dec 2025
The textbook was a good addition to the course, and will be a useful tool to reference.
Dec 2025
Becoming more familiar with Yocto and BitBake.
Dec 2025
Thorough coverage of BitBake concepts and theory, and the Yocto project.
Dec 2025
The labs were probably the most useful. Getting hands on experience using the commands and tools discussed in the various sections was very helpful.
Dec 2025
I feel that I have a much better understanding of Yocto basics.
Dec 2025
The variation of theory and labs, it felt evenly spread across the course.
Nov 2025
It was a good way to ease me into Yocto.
Nov 2025
The labs that reinforce the information with application.
Nov 2025
I liked that we could get hands-on training, and create our own projects to build.
Nov 2025
The labs and exercises!
Nov 2025
I liked the labs, they were engaging, and it's a useful way to apply knowledge. The lab environment also facilitated good collaboration between trainees.
Nov 2025
The information was presented well for what was packed into 3 days.
Nov 2025
Learning through lectures, and doing hands-on labs helped a lot during the course.
Nov 2025
I got a quick understanding of Yocto. I am probably not going to be maintaining a build, but at least I have enough high-level knowledge that if I become involved, I will remember the basics and be able to ask the right questions, instead of it being completely new.
Nov 2025
Learning to work with Yocto builds, and new tools.
Nov 2025
I liked the lectures, material and lab assignments.
Nov 2025
I rather enjoyed the labs; I felt they helped drive home the lessons, and provided a useful contrast to lectures.
Nov 2025
I would strongly recommend people take the in-person courses, rather than online.
Nov 2025
I liked the exercises, and intentional errors that needed to be overcome. Learning to debug a build environment is 99% of what people need to know how to do, as their code hardly ever works the first time.
Nov 2025
Despite being very familiar with Yocto, I found this course informative and well thought out.
Sep 2025
Content, as well as the lessons and teaching methods.
Sep 2025
The material and resources provided were excellent.
Aug 2025
Quite interactive, and useful to walk away with a physical copy of the material.
Aug 2025
I enjoyed the labs and the hands-on exercises.
Apr 2025
The topics were well designed, and many different ones around YOCTO were covered. The labs were sometimes a little challenging, which made the process more enjoyable.
Mar 2025
The fact that it covered all the aspects of Yocto, and the overall source material, will be helpful as a reference later on.
Mar 2025
I liked the labs.
Mar 2025
It's an excellent course, I would definitely recommend it!
Dec 2024
I enjoyed learning about the minor details in Yocto, and obtaining a deeper understanding on how to do platform development.
Oct 2024
The course covered all topics and basics.
Oct 2024
I liked the hands-on labs, and the examples in the training manual.
Aug 2024
I liked the labs, that helped me better understand the build system, yocto/bitbake/poky and the structure of layers/configurations and recipes.
Jun 2024
John was a very good instructor, patient with the students' questions, able to help just about everyone with their problems, and he put everyone at ease.
Jun 2024
Starting out with no knowledge of Yocto environment, I can say I understand more of bitback, and am confident to build my own recipe.
Jun 2024
I think the labs, and having obtained the book, will be helpful. It was a lot of information, and I couldn't absorb it all, but with the material and the labs I can continue to learn on my own.
Jun 2024
I appreciated the detail devoted to all the different aspects of working with Yocto. I have used Yocto before, but even in the early part of the training going over the foundations, I found a lot of useful tips and tricks I didn't know about.
Jun 2024
That it was up-to-date with the most recent LTS release of yocto, even though that has only recently been released. That takes a lot of work, thank you for doing that.