Embedded Linux training – 4 days

During the COVID-19 confinement measures, see our public and dedicated online training sessions.

Learn how to develop an embedded Linux system

Course details

Contact: training@bootlin.com, phone: +33 484 258 097.

Note that the below public sessions are only with the 5-day variant of this course, and use a different ARM board during practical labs.

Public online sessions

Type Dates Time Duration Expected
Cost and registration
Embedded Linux (agenda) Apr. 28, 29, 30, May 4, 5, 6, 7, 2020 14:00 -18:00 (Paris time) 28 h Michael Opdenacker 790 EUR + VAT* + fees

See details about our online sessions.

* VAT: we should be able to grant VAT refunds for participants who are registered by businesses, provided we are given all the details we need for VAT exemption.

Dedicated online sessions

We can also propose dedicated online sessions. This way, you can choose the dates and times that best suit the needs and availabilities of your teams.

Public sessions

Dates Location Expected
(VAT not included)
May. 11-15, 2020 Avignon, France Michael Opdenacker English 2090 EUR Yes
Groups: ask us for a session on your own site
Individual: what other locations and dates would interest you?

On-site sessions

We can also send a trainer to train your engineers at your own location, anywhere in the world (we have taught classes on all continents). See how to register.

Objectives and target audience

This course targets engineers who wish to use the Linux system in new embedded projects, and people supporting customers developing such systems. In five days, through theory and practical labs, the course makes you familiar with the architecture of an embedded Linux system, how to build such a system, how to take advantage of open source components to implement system features and reduce development costs, and details how to develop and debug your own applications in an embedded environment.

At the end of this course, you will be ready to start a project using embedded Linux, from system building to application development.


Here are the main topics that we cover:

  • training desktopIntroduction to embedded Linux
  • C libraries. Building a cross-compiling toolchain
  • Bootloaders. Focus on U-boot.
  • Configuring, (cross)compiling and booting a Linux kernel
  • Creating a simple, BusyBox based root filesystem from scratch
  • Block filesystems
  • Cross-compiling libraries and applications
  • Embedded system building tools
  • Lightweight tools for embedded systems. Graphical toolkits
  • Developing and debugging applications for the embedded system

Note that a 5-day variant of this course exists, with additional lectures and practical labs about flash storage and real-time.

See our agenda for content details.

All the training materials we use during this course are freely available. Before the session, you can then check that they correspond to your needs.

Practical labs

STM32MP157C-DK1 Discovery boardEach lecture in our course is followed by a practical implementation, representing 50% to 60% of the whole course time. Labs are performed on an embedded ARM board (STM32MP157C-DK1 Discovery board from STMicroelectronics, based on a Dual Cortex-A7 + Cortex M4 CPU), on which you will progressively implement an embedded Linux system.


Participants need to be familiar with the UNIX or Linux command line interface. Those who aren’t are asked to do some self training on the topic, for example by using our training materials. This way, they won’t waste time during practical labs because of issues using the operating system environment.

Further details about our courses