Yocto Project Overview Seminar

In a nutshell

Michael Opdenacker running a tutorial about devtool at Yocto Project Summit 2024.12.
  • Gain a clear view of the Yocto Project and the value it can bring to your embedded Linux device projects. A guided view of its main features and quick demos, all done in an engaging and interactive way.
  • Duration: 1 day (up to 8 hours)
  • Number of participants: unlimited
  • Structure: 10 presentations of 30 minutes each + questions and answers (Q&A)
  • Delivery: in-person or online – Register
  • Instructor: Michael Opdenacker
  • Deliverables: copies of presentation materials.

Agenda

The big picture

  • The Yocto Project in a nutshell
  • Quick introduction to embedded Linux
  • Main usage, goals, features and differences with other solutions
  • Demo on the Beaglebone Black board.
  • Q&A

Governance, contributors, layer ecosystem

  • Yocto Project governance
  • Community side: OpenEmbedded
  • Layer ecosystem
  • Release and support cycles
  • Demo on the Raspberry Pi 5 board
  • Q&A

Using the build system

  • BitBake principles
  • Supported GNU/Linux distributions
  • Build environment and configuration files
  • Choosing a machine, an image, a distribution
  • How to add a package to an image
  • Exploring logs and build output
  • Optimizing builds: shared state cache, hash equivalence, limiting disk and CPU usage.
  • Demo on an emulated ARM64 board (QEMU): booting a distribution with systemd and extra packages.
  • Q&A

Variables and overrides

  • Variable syntax and operators
  • Operator priority
  • Overrides
  • Demo: accessing the value of variables and tracking the code that defined them.
  • Q&A

Recipes and packages

  • Structure of recipes.
  • Tasks and dependencies.
  • Source fetching and other important tasks.
  • Packages vs recipes
  • Extending and overriding existing recipes.
  • Global and recipe classes
  • Demo: customizing Linux kernel configuration
  • Q&A

Layers, BSP, images and distributions

  • Creating and working with layers
  • BSP layers. Defining a machine
  • Defining an image
  • Defining a distribution
  • What goes where: machine vs. image vs. distribution
  • Demo: illustration of the distinction between machines, images and distributions.
  • Q&A

Application development

  • Obtaining or generating an SDK
  • Compiling and deploying an application outside of BitBake
  • Using devtool to create, modify and test recipes.
  • Demo: application development with devtool
  • Q&A

Moving to production

  • Image and package testing
  • Generating and publishing package feeds. Adding and updating software at run time. A/B update strategies.
  • License compliance and Software Bill or Materials (SPDX).
  • Checking for vulnerabilities.
  • Binary reproducibility
  • Layer management software (Kas)
  • Demo: deploying a binary distribution and updating it through a package feed. Checking for vulnerabilities.
  • Q&A

Contributing to the Yocto Project

  • Contribution workflow and choices
  • How to find the repository to modify
  • Contribution guidelines – Best practices.
  • Patch checking tools
  • Understand the development cycles
  • Demo: show the creation of a patch to update a recipe
  • Q&A

Resources

  • Tour guide of the project manuals
  • Other project resources: wiki, videos, past presentations.
  • Connecting to other users and developers through mailing lists, IRC, open technical meetings.
  • Conferences and other events
  • Closing Q&A

Questions and Answers

Q: Can I really digest all these topics in one day?
A: Yes! As opposed to a technical course, we will focus on the main concepts and ideas to give you a good exposure on the tool capabilities and constraints, without digging too deep much into technical details.

Q: May I ask to cover a specific topic?
A: Certainly, don’t hesitate to ask us to replace one or several of the proposed topics by some of special interest to you. However, we may not be able to accept if such topics are too specific or if we lack expertise in them.

Q: Will we be able to record this seminar?
A: Yes, provided you keep the video recordings for yourself.

Michael Opdenacker talking about Yocto binary distributions at the Embedded Linux Conference Europe in 2024.
Michael Opdenacker explaining how to use Yocto to boot the Raspberry Pi 5 board with the mainline Linux kernel.