Yocto Project and Openembedded training

Our most popular ‘Yocto Projectonline course because in just three afternoons (online) or two full days (in-person), you can learn everything you need to begin to use Yocto Project and Openembedded to generate recipes and custom layers.

Yocto Project Participant

OpenEmbeddedLinux and Yocto English training

This course also provides the information needed to configure and use Yocto Project (and Openembedded), git and bitbake by creating an embeddded Linux distribution from scratch. Management of recipes in overlays with custom layers.

Learn to build and manage embedded Linux systems with the Yocto Project and OpenEmbedded.
If you want to not waste time performing time-consuming tasks during the course, this intensive course is perfect for you.
In order to save time, some sections are shortened or skipped, such as downloading the packages and the long initial compilation, depending on the needs and interests of the participants.

Target Audience

This course is ideal for:

  • Engineers looking to use the Linux and Yocto system in new embedded projects.
  • Individuals supporting customers in developing embedded systems.

The course combines theory with practical labs to:

  • Familiarize you with the Yocto Project architecture.
  • Learn how to create layers, configure recipes and images.
  • Show you how to implement the Yocto Project best practices in a real environment.

By the end of the course, you will be able to:

  • Manage a project using embedded Linux.
  • Set up, configure and deliver a Linux embedded system generated with Yocto Project.
  • Handle everything from system building to application development.

Prerequisites

Knowledge and practice of UNIX or GNU/Linux commands: Participants must be familiar with the Linux command line. Those lacking experience should train themselves, for instance, using our freely available document: https://koansoftware.com/pub/docs/Introduction-to-Linux-A-Hands-on-Guide.pdf

Minimal English language level B1: according to the Common European Framework of Reference for Languages (CEFR), for our sessions in English. Refer to the CEFR grid for self-evaluation.

Hardware used

The exercises can be run by the teacher only or by the participants depending on the course type (online or in-person).
For practical reasons, during online courses no needed any particular hardware device and a QemuARM64 virtual system will be used, during in-person courses a real NXP i-MX8 board will be provided by the teacher therefore all the exercises will be run by the participants.

Thanks to the portability of Linux and Yocto Project, all the exercises performed will be applicable to any other type of board. For example:

  • NXP – i.MX6, i.MX7, i.MX8, i.MX9
  • ST Microelectronics – STM32MP1, STM32MP2
  • Intel – x86-32, x86-64

The course content is widely applicable and relevant regardless of the specific hardware platform used in your projects.

Online course

KOAN yocto training online agenda

Topics covered

The course, aimed at developers who need to quickly learn the Linux development environment.

  • Development with the Yocto Project project
  • Laboratory demos shown on NXP i.MX8 ARM board and QemuARM64
  • Writing and extension of Yocto Project recipes
  • Creation of new Yocto Project layers
  • Integrate your card into a BSP
  • Creation of personalized Yocto Project images
  • Remote debugging of applications

At the end of this course, you will be ready to use the Yocto Project to develop your embedded Linux system and compiled cross applications.

Linux training

Details

  • Duration: 3 consecutive afternoons (from 14:00 to 18:00 CET)
  • Type: ~ 80% presentations, ~ 20% practical exercises
  • Slides language and material provided: English
  • Oral presentation language: English
  • Number of participants: maximum 12 people
  • Price: 390,00 Euro + VAT
  • Registration available using this training subscription form

Qemu ARM

Equipment required

Each participant must have a Laptop on which a Virtual Machine provided by the teacher at the beginning of the course will be installed. All the necessary material is provided by Koan except the PC. Therefore participants must have their own laptop with:

  • Laptop PC with at least 8 GB of RAM and 40 GB of free disk space.
  • Virtual Box installed (downloadable from here).
  • We will work with Lubuntu Desktop 22.04 (64 bit). (We don’t support other distributions, because we can’t test all possible versions).
  • Internet connection (direct or through the company proxy).
  • For security reasons it is necessary that each participant backup their computer before the course.

In-Person course

Corso Yocto Project e Openembedded

Topics covered

The course, aimed at developers who need to quickly learn the Linux development environment.

  • Development with the Yocto Project project
  • Practical laboratory run by participants on NXP i.MX8 ARM board
  • Writing and extension of Yocto Project recipes
  • Creation of new Yocto Project layers
  • Integrate your card into a BSP
  • Creation of personalized Yocto Project images
  • Remote debugging of applications

At the end of this course, you will be ready to use the Yocto Project to develop your embedded Linux system and compiled cross applications.

Details

  • Duration: 4 consecutive days (from 9:00 to 17:00 CET)
  • Type: ~ 50% presentations, ~ 50% practical exercises
  • Slides language and material provided: English
  • Oral presentation language: Italian or English
  • Number of participants: maximum 12 people
  • Price: 890,00 Euro + VAT
  • Registration available using this training subscription form

NXP i.MX8Mini Yocto

Participants requirements for the course

Each participant must have a Laptop on which a Virtual Machine provided by the teacher at the beginning of the course will be installed. All the necessary material is provided by Koan except the PC.
Each participant will need to have a laptop with the following suggested specifications:

  • Intel Core i5 or higher (Intel i7 strongly suggested)
  • RAM: 8GB minimum (more than 19GB strongly suggested)
  • Available space: 50 GB
  • 1x Ethernet port
  • 2x USB ports (to connect to a serial adapter and USB-MicroSD)
  • 1x microSD to USB adapter IMPORTANT
  • Virtual Box installed (downloadable from here)
  • For security reasons it is necessary that each participant backup their computer before the course.

Accommodation

Accommodation and transportation to and from the venue are not included in the registration fee.
Participants must arrange their own accommodation, travel, and transportation.

Other notes

  • Accommodation and transportation to and from the venue are not included in the fee.
  • Participants must arrange their own accommodation, travel, and transportation.
  • Lunch and coffee breaks are included in the course fee.
  • Participants will need to arrange their own breakfast and dinner as these are not included in the offer.
  • Taxes on the fee will be additional if applicable.

Online course agenda

  • __ Afternoon 1 – Yocto Project __
  • Introduction
  • Openembedded and Yocto Project history
  • Overview of an embedded Linux system architecture
  • Methods to build a root filesystem image
  • Usefulness of build systems
  • Organization of the project source tree
  • Building a root filesystem image using the Yocto Project
  • Organization of the build output
  • Flashing and installing the system image
  • Downloading the Poky reference build system
  • Building a system image
  • Flashing and booting the image on the BeagleBone
  • Configuring the build system
  • What layers are
  • Where to find layers
  • Creating a layer
  • Customizing the package selection
  • Development workflow with bitbake
  • Writing a minimal recipe
  • Learn how to use the PREFERRED_PROVIDER mechanism
  • Writing a recipe for nInvaders
  • Adding nInvaders to the final image
  • __ Afternoon 2 Yocto Project __
  • Manage dependencies in the recipe
  • Extending and overriding recipes
  • Adding steps to the build process
  • Learn about classes
  • Analysis of examples
  • Logging
  • Debugging dependencies
  • Extending an existing BSP
  • Adding a new machine
  • Linux and the linux-yocto recipe
  • Adding a custom image type
  • Extending a recipe to add configuration files
  • Using ROOTFS_POSTPROCESS_COMMAND to modify the final rootfs
  • Studying package dependencies
  • Learn how to write a layer
  • Add the layer to the build
  • Move nInvaders to the new layer
  • __ Afternoon 3 – – Yocto Project __
  • Adding nInvaders to a custom image
  • Writing an image recipe
  • Adding users/groups
  • Adding custom configuration
  • Writing and using package groups recipes
  • Writing a custom image recipe
  • Understanding the purpose of an SDK for the application developer
  • Building an SDK for the custom image
  • Using the Yocto Project SDK
  • devtool
  • Using devtool

In-person course agenda

  • Slot #YP1
    Principles and role of Yocto Project/OpenEmbedded as embedded Linux build system
    Yocto and BitBake fundamentals
    Creation and configuration of a custom layer
    Practical labs
  • Slot #YP2
    Incorporating recipes for several packages to the custom layer
    Workflows for application development using the Yocto Project SDK
    Practical labs
  • Slot #YP3
    Develop custom images and distro tailored to specific requirements
    Integrate support for custom embedded boards into a Board Support Package (BSP) layer
    Usage of u-boot and linux kernel with Yocto Project
    Develop additional components using devtool
    Practical labs
  • Slot #YP4
    Integration of Mezzanine expansion board components into Yocto BSP layer
    Final recap

Prossimi Corsi Yocto Project

Date Type Location Language Book
12/11/2024 - 15/11/2024 Linux Embedded and Yocto Project training Bergamo, Bergamo english Book

Prossimi Corsi

Date Type Location Language Book
10/10/2024 - 16/10/2024 Linux Embedded and Yocto Project training italiano Book
12/11/2024 - 15/11/2024 Linux Embedded and Yocto Project training Bergamo, Bergamo english Book