Course : Embedded Linux, BSP and uBoot

Practical course - 5d - 35h00 - Ref. BLE
Price : 3570 CHF E.T.

Embedded Linux, BSP and uBoot






INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Available in English on request

Ref. BLE
  5d - 35h00
3570 CHF E.T.







Practical details
Hands-on work
Every step of the training session is immediately applied as a case study on an embedded ARM board with a touch screen to test graphical developments.

Course schedule

1
The cross development tools

  • Overview of an embedded system and of the Linux kernel architecture.
  • Cross development tool chain, gcc cross compiler, C libraries, glibc and uClibc, GNU debugger, GNU ELF tools.
  • Embedded development tools, QEMU, Buildroot, Busybox and Scratchbox

2
The universal Boot loader: uBoot

  • uBoot project overview. A walk through the source code. Supported architectures. Basic functionalities.
  • The uImage format for booting uBoot Images.
  • Configuration, compilation and installation in a QEMU sandbox for testing.
  • Development of a standalone program using uBoot as BIOS.
  • uBoot BSP. Adding a new SOC and a new board in the uBoot BSP tree.
Hands-on work
Add a new command to uBoot and test uBoot inside QEMU, generate a new BSP for uBoot and develop a simple stand alone program using uBoot as BIOS.

3
Linux kernel

  • Licenses implications and kernel modules development. Development cycles.
  • Kernel development tools, quilt, GDB, GIT, LTT. Configuration tool Kbuild.
  • The Linux boot process.
  • Devices drivers. The Linux driver framework and standard drivers.
  • The Linux BSP. Adding a new board to Linux.
  • Specific embedded systems drivers MTD drivers, CAN, SPI and I2C drivers.
Hands-on work
Modify the kernel tree to add a new driver to the kernel tree and generate a patch formatted for the LKML. Develop a character driver outside of the kernel tree.

4
Root File system

  • Creation of a rootfs. A tiny root file system, back to UNIX fundamentals and the init program.
  • Manage users on an embedded system with busybox.
  • Dynamic libraries or static programs. Choosing a root file system architecture.
  • Building a rootfs as CPIO or as EXT2 file system.
  • Creating JFFS2, UBIFS or YAFFS file systems.
Hands-on work
Create rootfs from scratch using busybox and test it on a real ARM target.Use buildroot to add new applications.Add your own application developed using SCRATCHBOX.Test the buildroot generated rootfs.

5
Limits of Linux Embedded

  • Industrial realtime application.
  • Power management.
  • Embedded interfaces.
  • Complete embedded framework.
  • Debugging. Using QEMU to debug and embedded system.
Hands-on work
You will modify the Linux boot-logo using standard Linux graphical tools. Test a hard realtime solution. Debug an application on the ARM target.


Publication date : 03/08/2024


Dates and locations

Last places available
Guaranteed date, in person or remotely
Guaranteed session
From 1 to 5 June 2026
FR
Remote class
Registration
From 1 to 5 June 2026
EN
Remote class
Registration
From 12 to 16 October 2026
FR
Remote class
Registration
From 12 to 16 October 2026
EN
Remote class
Registration

REMOTE CLASS
2026 : 1 June, 1 June, 12 Oct., 12 Oct.