BeaglePlay board and a multitude of different penguins Photo: Michael Opdenacker Clipart: https://openclipart.org/download/189359/penguins-like-ocal.sv

Embedded Linux training

All you need to know to run Linux and applications on your own system.

Overview

Michael Opdenacker showing how to run the latest kernels on your Linux distribution. Can be useful for contributing to kernel sources.

Everything you need to know to build, boot and debug your own embedded Linux system, leveraging many features implemented by the Open Source community. Add your own applications.

Starting in a very progressive way from the ground up to understand every component deployed in the system.

Using progressive but challenging practical labs and varied techniques to make the learning always stimulating and fun, and above all to make it stick. At least 75% of the time is dedicated to practical activities. Learn by doing!

Description

DeliveryIn-person (all continents) or online, public or private session
LanguageEnglish or French
Mix25% theory – 75% practical activities – Learn by doing!
Duration5 days (in-person), 32 hours (online)
HardwareBeaglePlay board with TI Sitara AM625 SoC (ARM64)
Linux kernel version6.12 (LTS) used in practical labs
PrerequisitesFamiliarity with the Linux command line

Upcoming sessions (in-person and online)

TrainerDatesCostRegister
Michael OpdenackerSep 29 – Oct 2, Oct 6-9, online
15:00 to 19:00 UTC+2
Seats left
2,490 EUR or 2,690 USD 1, 2Join now button
Michael OpdenackerOct 13-17, Avignon, France
40 hours – 9:00 to 18:00
Seats left
2,990 EUR or 3,190 USD
+20% V.A.T. 3
Join now button

1 Individuals (all countries, not paying through a company) are subject to + 20% V.A.T. However, we offer a discount on the base cost to cancel the impact of V.A.T. and keep the same total price.
2 Only for French companies: + 20% V.A.T.
3 + 20% V.A.T. is mandatory for everyone attending a public course in France. See 1 for individuals.

Available discounts

The below discounts can be combined, up to a limit of 400 EUR / 440 EUR per participant.

  • 200 EUR / 220 USD returning participant discount for any extra course taken by the same participant at most 12 months after another one.
  • 200 EUR / 220 USD early bird discount for any registration at least 2 months before the session dates.
  • 200 EUR / 220 USD extra participant discount for each participant from the same entity (same invoicing address) in addition to the first one.

If V.A.T. is applicable, it applies to the amounts before V.A.T.

Private sessions

This course can be taught in a private session anywhere in the world, either in your company’s premises or online.This offers more privacy and allows for customization options.

"Request quote" button

Agenda

Part 1 – Overview, bootloader, Linux kernel

  • Demo: Embedded Linux from scratch in 30 minutes.
  • Introduction to embedded Linux.
  • Differences between desktop / server and embedded Linux distributions.
  • Interacting with a live embedded Linux system
  • Choosing a hardware platform. RAM, storage and CPU requirements.
  • Bootloader principles – Booting on ARM, RISC-V and x86.
  • U-Boot bootloader, most useful commands. How to load and boot a Linux kernel.
  • The Linux kernel: understanding development and release process, getting the sources, configuring and building

Part 2 – Booting and basic root filesystem

  • Multiple options for booting the Linux kernel
  • Choosing a C standard library and cross-compiling toolchain.
  • Booting over NFS – Basic system startup with BusyBox.
  • Filesystem contents.
  • Building a minimal root filesystem.
  • Configuring system startup with BusyBox.
  • Available filesystems for block storage – How to flash.
  • Booting the board from SD card.

Part 3 – Declaring and accessing hardware – Adding Open Source components

  • Working with raw flash storage.
  • Describing hardware – The Device Tree. Using Device Tree Overlays.
  • Working with kernel modules.
  • Accessing hardware. Application on storage devices, LEDs, buttons, I2C sensors, audio and network devices
  • Beyond Linux kernel and BusyBox: adding other open source components.
  • Understanding and comply with Free Software licenses and constraints.
  • Cross-compiling open source components – Understanding the manual way.

Part 4 – Build systems and system startup

  • Automating system building – Pitfalls to avoid.
  • Introduction to Buildroot.
  • Introduction to BitBake, OpenEmbedded, Yocto Project and its terminology.
  • Building a system image with Buildroot.
  • Building a similar system with Yocto Project.
  • System startup and hardware management with systemd and udev.
  • Introduction to software stacks: graphics, audio, video.

Part 5 – Applications, debugging, system productization

  • Build your own software.
  • Profiling and tracing applications.
  • Remote debugging. Using Visual Studio code.
  • Final challenge: fix a broken system with multiple types of bugs.
  • Embedded system security: bootloader, kernel, system services, applications.
  • Generating a Software Bill of Materials (SBoM).
  • Checking for vulnerabilities.
  • How to achieve binary reproducibility.
  • Embedded system update strategies and solutions.
  • How to leverage the resources of the embedded Linux and kernel community. How to contribute to it.
  • Extra resources: websites, conferences, books.

What is provided?

In-person public sessionsIn-person private sessionsOnline public sessions
Electronic board and all its required accessories, for the duration of the course
Lunch, morning and afternoon breaks
Electronic copies of the lecture and practical lab materials.
Solutions to practical labs
Video recordings of the lectures from the trainer.
Electronic training certificate, after successful completion of the course, which can be shared on your LinkedIn profile and on other social media.

What’s special in our courses?

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?

FAQ

Q: Can the practical labs be run on the CPU that my project uses?
A: The Linux kernel provides the same mechanisms for all types of hardware, so what you learn on another platform will apply on other ones as well. However, porting our practical labs to different hardware should be possible if you are ready to accept additional preparation costs.

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