Study embedded Linux without hardware by using our freely available lectures and practical labs on the QEMU emulated ARM Vexpress Cortex A9 board. Except for nand flash and realtime, all features are available: toolchains, U-Boot, tftp, Linux kernel, NFS booting, MMC/SD, SquashFS, cross-compiling, Buildroot, application development and debugging with strace, ltrace and gdb.

Materials available on:

Get support by attending our next online session:

New dates announced in the end of July, beginning of August for Bootlin's online embedded Linux course (with optional labs on QEMU ARM), at a time suitable for our customers in the Americas. More details on

Did you know?
You can use the Elixir Cross Referencer to look up kernel configuration settings in defconfig files.
See by yourself in for example.

v2.1 of the Elixir Cross Referencer also adds support for Device Tree compatible strings. When browsing Device Tree files, you can instantly find matching drivers, Device Tree bindings and other Device Tree files using the same compatible string.

Thanks to Maxime Chrétien again!


Elixir Cross Referencer v2.1 features symbol search autocompletion, contributed by Maxime Chrétien. This makes it easy to find Linux kernel function names while programming!

Tomorrow, Bootlin's
engineer Paul Kocialkowski, who has worked on Allwinner video decoding, and author of our Linux graphics course will teach our first online edition of this course! You want to learn everything about the Linux graphics stack?

We modified the timing of our next online Linux kernel course to fit the constraints of our US customers: from 8:00 AM to 12:00 PM (San Francisco time)

This corresponds to 5:00 PM to 9:00 PM (Paris time), which can also work for people taking the course outside of working hours.

The dates are July 6, 7, 8, 9, 10, 15 and 17, 2020.

If this offering meets customer demand, we will be happy to extend to it our other online courses 😉

All details on

In the next online session of our Embedded Linux course, we will propose QEMU ARM instructions for most practical labs before showing solutions on real hardware.

Such labs will be optional and will be proposed between each half day session.

See our detailed agenda on

Practising by yourself will definitely help with learning.

Our June online Buildroot training course with Buildroot's
co-maintainer Thomas Petazzoni is now completed, so we've opened a new session on July 28-31, 9 AM to 1 PM UTC+2 on each day. Register at and get trained on using Buildroot with an expert!

Our online Yocto Project / OpenEmbedded training course starting tomorrow with Alexandre Belloni as instructor is full! So we've opened a new session for this course: July 28-31, 9:00 AM to 1:00 PM UTC+2 each day. Register at has become a time machine!
It now allows to explore the code of most Linux releases since the beginning (except a few that were apparently lost). Thanks to Arnd Bergmann for the suggestion! is up with many new features from the latest v2.0 release: support for function documentation, Kconfig symbols, Device Tree aliases, function documentation, REST API...

Checkout our blog post covering all these new features:

At Bootlin, the tradition is to share all the evaluations from the participants to our training sessions, and not just keep the good ones :

So, here are the evaluations from our first public online Embedded Linux course:

Given the demand for our online courses, we're opening a new Linux kernel driver development session between June 8 and 16. All details are on

The trainer will be Michael Opdenacker, Bootlin's founder.

Our on-line training seminar on Linux kernel and driver development being fully booked, we opened registration for a new session between May 25 and June 3. This new session will be instructed by our CTO Thomas Petazzoni.

As we guarantee to limit the number of participants to 12, you will definitely have time to ask your embedded Linux and kernel questions to him!

See our list of on-line sessions:

Given the success of our online embedded Linux training seminar, we're adding a new session: May 25-29 and June 2-3.

By the way, our labs run with Linux 5.6, U-Boot 2020.04 and the latest commit of crosstool-ng. At Bootlin, we keep our products fresh 😇

At Bootlin, we are using Jitsi Meet for our online embedded Linux training seminars ( This self hosted Free and Open Source solution works like a charm. No more need for proprietary solutions such as Zoom, Google Meet, Skype...

I appear twice because I'm using a second (muted) laptop, allowing me to continue to see the other participants when I'm sharing my screen. This way, they can still see me too.
Other than this, Jitsi Meet has all the features we need.

We extended Pygments to add Device Tree Source (DTS) syntax highlighting in the Elixir Cross Referencer. See
More features are coming soon!

The Elixir Cross Referencer now supports the Toybox project (, a BSD licensed alternative to BusyBox developped by Rob Landey.

Check by yourself on

Bootlin engineer Kamel Bouhara has just published a blog post that details how timer counters can be used in Linux. Of course for clocksource and clockevents, but also for PWM, capture input, quadradure decoders, rotary encoders. His blog post is illustrated with examples on the Microchip SAMA5D2 platform:

Show more

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.