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.