Building Embedded Platforms With the Yocto Project

This course covers foundational concepts, environment setup, and hands-on skills for creating custom embedded Linux systems, and developing custom components like recipes and layers.

Description

This course is a practical training designed to introduce and build experience with creating custom embedded Linux-based systems. It covers the foundational concepts of the Yocto Project and OpenEmbedded, including the roles of the BitBake build engine, the OpenEmbedded-Core layer, and the Poky reference distribution. The training is highly hands-on, guiding participants through setting up the build environment, managing source code with tools like Git or Repo, performing the initial, often lengthy, build of a minimal image, and then delves into key advanced topics such as writing, compiling, and debugging custom recipes, understanding and creating layers, and using the built-in SDK for application development, often utilizing the QEMU emulator for testing the resulting images.

Attributes

Level: Intermediate
Class type: General
Time commitment: 24h

Topics Covered

  • Introduction to OpenEmbedded (OE) and Yocto Project: The basics of what OE/Yocto are and their role in creating custom Linux distributions.
  • Building and configuring Linux distributions: Practical steps in setting up a build environment and performing initial builds.
  • Understanding OE/Yocto concepts: Layers, recipes, build workflow, and architecture of a typical Linux distribution.
  • Use of BitBake: How BitBake is used as the build engine for OE/Yocto projects.
  • Working with reference distributions (Poky): Using the Poky reference distribution as a starting point for builds.

Learning Outcomes

  • Ability to build a basic Linux distribution: Getting hands-on experience with building a minimal Linux image using OE/Yocto.
  • Knowledge of OE/Yocto terminology and structure: Understanding key concepts such as layers, recipes, and the build process.
  • Skills to set up a development environment: Configuring their system to build OE/Yocto projects.
  • Understanding how Linux distributions are constructed: Gaining insights into the anatomy of a typical Linux system.
  • Confidence to further explore OE/Yocto: Getting a solid foundation to delve deeper into advanced features and customization.

Similar courses

This course is designed to provide an in-depth understanding of the Arm Trusted Firmware-A (TF-A) project and the underlying security architecture.

More Information

This course introduces the Linaro Automated Validation Architecture (LAVA), covering how users write and submit jobs for automated testing on real hardware, how to analyze test results with queries and charts, and how administrators can install, configure, and manage a LAVA lab infrastructure.

More Information

This course is for experienced programmers, covering the fundamentals of the Rust language, its ecosystem (Crates, Cargo), advanced topics like the Type System and Taming the Borrow Checker (ownership, lifetimes), and specialized applications such as Embedded Rust and Rust for Linux kernel development.

More Information

This course details the technical and social process of contributing code to the mainline Linux kernel, covering its organizational structure, the benefits of upstreaming, the culture and rules of mailing list communication, and the use of tools like b4 and clang-format for creating, formatting, and submitting high-quality patch series.

More Information

This course covers the foundational concepts, architecture, and components of the Open Portable Trusted Execution Environment (OP-TEE), including TEE principles, compliance with GlobalPlatform standards, shared memory, cryptography, compatibility with ARM Trusted Firmware, and practical guidance on building and porting the system.

More Information

U-Boot is the most widely used embedded bootloader, backed by a large community, and this module explains why: covering its core features, configuration options, and practical build and deployment on real hardware.

More Information