Skip to main content

Yocto / OpenEmbedded

Course description

Yocto / OpenEmbedded gives you the basics to create your own embedded Linux distribution, with a current Linux kernel and a complete and custom root file system filled with proprietary and open source packages. We walk through the OpenEmbedded build system (which is the core of the Yocto project), discussing the core components such as layers, recipes, classes and configurations. We walk through the build process step by step and explain how to add new packages, create custom root filesystem images, and debug the build process.

The course is based on hands-on exercises where students learn and explore the build process while creating their own custom layers, package recipes and images.

The course is normally given in Swedish, but courses in English are given on request. All course material is in English. Linux computers and course targets (Beaglebone black) to perform the exercises are available to all participants. All participants may keep their Beaglebone after the course ends.

TARGET AUDIENCE
The course is aimed at programmers and system developers with experience with Linux for embedded systems, and who want help getting started with the most up-to-date build system for embedded Linux today.

TARGET AUDIENCE
Beaglebone Black – All course participants get to keep their Beaglebone after the course ends!

PREVIOUS KNOWLEDGE
In order to get the most out of this course, it is important to have some experience on

  • Development of embedded systems
  • Programming in C
  • Programming in bash script
  • Linux build process

It also helps if you have a certain understanding of the structure of the Linux root file system.

DAYS

3

PRICE

SEK 21 000

THEORY/PRACTICE

50/50

COURSE MOMENTS 

31 januari -2 februari 2024, Kista

LANGUAGE

Swedish, in English by agreement

To signup

Course content

1

Introduction

Yocto
OpenEmbedded
Poky
Build system overview
2

Bitbake

File types
Recipes, layers and classes
Syntactic rules
Configuration
Invocation
3

Layer basics

Layer theory
Best practices
4

Writing recipes

Recipe basics
Common variables
Licenses
Dependencies
Recipe tasks
5

Troubleshooting

Log files
Dependency graphs
Debug output
Logging
Build environment
6

Recipes – advanced topics

Include files
Recipe extension
Using classes
Creating patches
7

The Image, the Machine and the Distro

The image
Image customization
Package groups
BSP layers
Machine configuration
The Linux kernel
Distro layers
8

Application development

Build and install an SDK
Debug on target

Exercises

Setup and build first image
Locate information in source and build trees
Your own layer
Your own image recipe
Recipe modifications
Recipe for custom application
Recipe for FOSS application
Modify recipe with patch and package contents
Custom distro + own linux kernel
SDK for application development
Debug on target with IDE