Avignon seen from the Saint Benezet bridge Photo credits: https://commons.wikimedia.org/wiki/File:Avignon_Palais_des_Papes_vu_du_pont_Saint-B%C3%A9n%C3%A9zet.jpg

Yocto Project and OpenEmbedded training course, Avignon, France

All you need to know to use Open Embedded and the Yocto Project to build your custom embedded Linux images.

Overview

Everything you need to know to build your custom Linux system images for your own hardware. Learn how to create your own layers to reuse and override hardware vendor and community provided layers, just providing what is specific to your project.

In case you wish to support images for different targets, the Yocto Project will enable you to cleanly separate your hardware customizations, your distribution policies and the sets of applications you want to use.

The Yocto project also offers binary reproducibility, vulnerability analysis and Software Bill of Materials, and will also help you to develop your own recipes and debug the system.

Root Commit uses progressive but challenging practical labs and varying techniques to make the learning always stimulating and fun, and above all to make it stick. The number of participants is also limited to 8 to guarantee that the trainer will have enough time to support each participant during practical labs.

Description

TypeIn-person
Mix25% theory – 75% practical activities
LanguageEnglish
Max participants8
Duration4 days
HardwareBeaglePlay board with TI Sitara AM625 SoC (ARM64)
Yocto Project version5.0 (Scarthgap LTS) used in practical labs
PrerequisitesFamiliarity with the Linux command line – understanding low-level details about Embedded Linux will help but isn’t a strict requirement.

Upcoming sessions (in-person and online)

TrainerDatesCost
Michael OpdenackerFeb. 25-28, 2025, Avignon, France
32 hours – 9:00 to 18:00 UTC +1
Seats left –  Register
2,490 EUR or 2,590 USD
+ 20% V.A.T.
Michael OpdenackerMar. 18-20, 25-27, Online
15:00 to 19:00 UTC+1
Seats left –  Register
1,990 EUR or 2,090 USD
+ 20% V.A.T.

Also available on-line or through private sessions worldwide. Ask us for a quote.

Agenda

Part 1: Introduction, Concepts, Standard Usage

Michael Opdenacker running a tutorial about devtool at Yocto Project Summit 2024.12.
  • Demo: Build a embedded Linux image for a different board and boot it.
  • General introduction to embedded Linux and build systems.
  • History of OpenEmbedded and the Yocto Project.
    Roles of the various components: OpenEmbedded, Poky, Yocto.
  • Project goals, release cycles, governance, features, example projects.
  • Terminology: recipes, layers, images, machines, distributions, packages, metadata.
  • Setting up the environment. Supported host distributions, required tools.
  • BitBake build orchestrator: usage and features.
  • Build and boot your first image based on the Poky reference distribution.
  • Exploring logs and build outputs.
  • Variables, syntax, scope and overrides.

Part 2: Working with Recipes and Layers

  • Structure of recipes. Tasks, dependencies. Source fetching and other important tasks. Extending and overriding existing recipes.
  • Classes: “recipe” and “global” classes.
  • Various types of Yocto layers. Using multiple layers and creating new ones.
  • BSP layers and machine definitions. Building the bootloader and kernel. Bootloader, kernel and device tree customization.
  • Distro layers. Toolchain definition.
  • Defining images. Package features.
  • Defining packages in recipes. Runtime and build time dependencies.

Part 3: Advanced Yocto Usage and Deployment

Michael Opdenacker talking about Yocto binary distributions at the Embedded Linux Conference Europe in 2024.
  • Optimizing builds: shared state cache, hash equivalence, limiting disk and CPU usage.
  • Generating and executing a Yocto Software Development Kit (SDK).
  • Using devtool to create, modify and test recipes.
  • Package sanity and image testing.
  • Generating and publishing package feeds. Adding and updating software at run time.
  • License compliance and Software Bill or Materials.
  • Checking for vulnerabilities.
  • Binary reproducibility
  • Layer management software (KasRepo).
  • Best practices for maintaining a project using Yocto.
  • Further Yocto Project resources.

Part 4: Challenges

  • Fix a broken system with multiple types of bugs.
  • Build and boot a system with support for A/B updates.
  • Optimize the boot time of a Yocto built embedded system.

What’s special in our in-person courses

Much better interactivity with the instructor and other learners compared to an online setting. It’s also much easier to get help.

Board and accessories provided: except for the Linux computers, electronic boards and accessories are provided by Root Commit for the duration of the course.

Course never postponed: once you are registered to one of our public sessions (after we receive your payment), you are sure to participate at the expected dates. We don’t postpone sessions, even with a very small number of participants.

Majority of practical activities, representing at least 75% of learning time.

Short lectures only: sequences of theory never exceed 30 minutes, and are interleaved with quick or longer practice. Too long series of lectures are hard to digest, especially in an online setting.

Technical and teaching experience: courses taught by an industry veteran with more than 20 years of experience in embedded Linux and 30 years using and advocating for Free and Open Source Software.

See also: Why choose Root Commit courses?

Practical details

Registration

To register to one of our sessions (in-person or on-line), please send us an e-mail mentioning:

  • Which session(s) you are interested in
  • The name(s) of people to register
  • Your company name (unless paying by yourself)
  • An invoicing address
  • An EU VAT number (if working for a company in the European Union)

If you have more than 4 people to register, you may consider ordering an on-site, in-person training session. Just ask us.

Venue

Lavender in Provence Source: https://commons.wikimedia.org/wiki/File:Lavender_in_Provence.jpg

The session will take place at Hotel Mercure Pont d’Avignon Centre (map).

The hotel offers a discounted rate for participants to our session. If you are interested in staying there, call them and let them know about your participation. Otherwise, many affordable hotels and accommodation solutions are available within walking distance in Avignon. The Avignon city center is great for relaxing and having dinner in the evenings.

Going to Avignon is also an opportunity to visit the famous Provence region in France before or after the course.

How to get to Avignon

See the Getting to Avignon official guide.

By train or by BUS
TGV (French High Speed Train) on a water bridge Source: https://commons.wikimedia.org/wiki/File:SNCF_TGV_Duplex_Cize-Bolozon.jpg

Given its low carbon emissions and fast connections to other cities in France, rail is Root Commit’s recommended way to reach Avignon, either directly from your home town if you live close enough in Europe, or from the Paris (3 hours) or Marseille (60 to 90 minutes) airports.

Here are websites on which you can book your tickets:

  • SNCF: French national railway network
  • Trainline: broker for train and bus tickets in Europe
BY CAR

If driving is the most convenient solution for you, and if you find accommodation in the Avignon City Center, keep in mind that you will have to find a car park which will add up to the total cost (~50 EUR for a weekly pass). You probably won’t need your car at all during the course, but will find it handy if you wish to visit the area on the week-end. The most convenient parking lot for the venue is Palais des Papes.

To make your drive to Avignon more enjoyable and environmental friendly, have you tried carpooling? BlaBlaCar is a service that works great in France.

By plane

The airports that are closest to Avignon are:

  • Marseille: the closest airport. You will have to take a shuttle to the nearby train station, and from there, you can get to the Avignon Centre train station. Expect a transit time from 90 minutes to 2 hours. See instructions.
  • Lyon: you have fast train connections (50 minutes) between the Lyon airport train station and the Avignon TGV train stations. Otherwise, with regular trains, you can get to Avignon in about 2 hours.
  • Paris Charles de Gaulle: though further away, there are fast (3 hours) connections between the Paris airport and Avignon TGV train stations. If you’re coming from far away, flying to Paris and then taking the fast train to Avignon can be faster than taking another flight from Paris (or another European city) to Marseille. Unless you get a direct flight to Marseille, it also much better in terms of CO2 emissions. Of course, you could also enjoy a few days in Paris before or after the course.
Jean Dufy - Ile de la Cité - Paris Source: https://www.christies.com/lot/lot-jean-dufy-1888-1964-lile-de-la-cite-6327954/

What do I need to bring?

PC running Linux

For this session, you will need a laptop computer running a native installation of Linux, with one of the distributions currently supported by the Yocto Project. This way, you can practice with your preferred distribution, as you would do in your real job. We suggest Ubuntu 24.04 if you don’t have any preference yet.

If you haven’t installed Linux on your laptop yet, most Linux distributions will allow you to install Linux alongside Windows, after making enough free space. Note that we don’t support the use of Virtual Machines (to run Linux from inside another operating system), as from our experience, connecting the Linux VM to the board and other devices is an endless source of distractions. Using VMs also causes a substantial loss of compiling performance.

This laptop should have at least 8 GB of RAM, a CPU with at least 4 physical cores and at least 50 GB of free disk space (100 GB for the Yocto course).

What is provided?

The following is provided in our in-person public sessions:

  • Electronic board and all its required accessories, for the duration of the course
  • Lunch, morning and afternoon breaks are included.
  • Electronic copies of the lecture and practical lab materials.
  • Electronic training certificate, after successful completion of the course, which can be shared on your LinkedIn profile and on other social media.

FAQ

Q: Will I get solutions to the practical labs?
A: Yes, solutions for the files to create or modify are shared at the end of each lab.

Q: It is possible to leave a little earlier on the last day?
A: Yes, if necessary for some participants, we will make sure that all lectures are over before 4:00 pm.

See also our FAQ for all types of courses and our sustainability efforts.

Image credits: commons.wikimedia.org