All you need to know to run Linux and applications on your own system.
Overview
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 varying techniques to make the learning always stimulating and fun, and above all to make it stick.
Description
Type | Online |
Mix | 25% theory – 75% practical activities |
Language | English |
Max participants | 8 |
Duration | 32 hours (8 sessions of 4 hours) |
Hardware | BeaglePlay board with TI Sitara AM625 SoC (ARM64) |
Linux kernel version | 6.12 (LTS) used in practical labs |
Prerequisites | Familiarity with the Linux command line |
Upcoming sessions (in-person and online)
Trainer | Dates | Cost |
Michael Opdenacker | Apr. 14-17, 22-25, online 15:00 to 19:00 UTC+1 Seats left – Register | 2,490 EUR or 2,590 USD + 20% V.A.T. |
Michael Opdenacker | May 5-9, Avignon, France 40 hours – 9:00 to 18:00 UTC +1 Seats left – Register | 2,990 EUR or 3,090 USD + 20% V.A.T. |
Also available on-line or through private sessions worldwide. Ask us for a quote.
Agenda
Part 1 – Overview, bootloader, Linux kernel
- Demo: Embedded Linux from scratch in 50 minutes.
- Introduction to embedded Linux.
- Differences between desktop / server and embedded Linux distributions .
- Bootloader principles – Booting on ARM, RISC-V and x86.
- U-Boot bootloader
- The Linux kernel: getting the sources, configuration and building
Part 2 – Booting and basic root filesystem
- Booting the Linux kernel
- C 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.
- Block devices and filesystems – Booting the board from SD card.
Part 3 – Declaring and accessing hardware – Adding Open Source components
- Working with raw flash storage.
- Declaring and accessing hardware – The Device Tree.
- Using other open source components.
- Licensing constraints.
- Cross-compiling open source components.
Part 4 – Build systems and system startup
- Automating system building – Buildroot and OpenEmbedded/Yocto.
- Building a system image with Buildroot.
- System startup with systemd.
- Software stacks for graphics, multimedia, networking…
Part 5 – Applications and debugging
- 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.
- Extra resources: websites, conferences, books.
What’s special in our online courses
Real labs, not just demos: unlike in some other offerings, each participant has time to do the practical labs during the course hours, with support from the trainer. The number of participants is limited to 8 to make sure that the instructor has enough time to support everyone.
Daily slots are just 4 hours long, allowing to continue working on regular projects, and to finish the labs with support from the trainer. We provide a Matrix channel to get support outside official hours, and even after the course is over. The timing also allows for participants from North America.
Video recordings of the lectures from the trainer are provided. This can come in handy to review the details of a particular topic after the course. Note that these videos are for your own use only, and that participants won’t be recorded for privacy reasons.
Course never postponed: once you are registered to one of our public sessions (after we receive your payment), you are sure to participate at the expected dates. We don’t postpone sessions, even with a very small number of participants.
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?
Practical details
Registration
To register to one of our sessions (in-person or on-line), please send us an e-mail mentioning:
- Which session(s) you are interested in
- The name(s) of people to register
- Your company name (unless paying by yourself)
- An invoicing address
- An EU VAT number (if working for a company in the European Union)
If you have more than 4 people to register, you may consider ordering an on-site, in-person training session. Just ask us.
Required hardware
PC running Linux
For this session, you will need a laptop computer running a native installation of Linux, with one of the distributions currently supported by the Yocto Project. This way, you can practice with your preferred distribution, as you would do in your real job. We suggest Ubuntu 24.04 if you don’t have any preference yet.
If you haven’t installed Linux on your laptop yet, most Linux distributions will allow you to install Linux alongside Windows, after making enough free space. Note that we don’t support the use of Virtual Machines (to run Linux from inside another operating system), as from our experience, connecting the Linux VM to the board and other devices is an endless source of distractions. Using VMs also causes a substantial loss of compiling performance.
This laptop should have at least 8 GB of RAM, a CPU with at least 4 physical cores and at least 50 GB of free disk space (100 GB for the Yocto course).
electronic board and accessories
You will need to get your hands on the BeaglePlay ARM64 board and a few accessories.
Note that those are provided by Root Commit for in-person sessions.
What is provided?
The following is provided in our online public sessions:
- Video recordings of the lectures from the trainer.
- Electronic copies of the lecture and practical lab materials.
- Electronic training certificate, after successful completion of the course, which can be shared on your LinkedIn profile and on other social media.
FAQ
Q: What happens if I can’t order all the required hardware in time?
A: This won’t prevent you from attending the course, as fallback instructions with QEMU emulated hardware will be provided. However, you should do your best to avoid such an issue, as some labs will be less exhaustive without real hardware. In addition, working with real hardware helps to grasp the difference between the build machine and the target hardware.