Embedded Linux Penguin image Embedded Linux Course/Workshop

Updated Course Material and a new board!

Course Overview
This course is perfect for those wanting to develop for or build an Embedded Linux system from scratch or commercial Embedded Linux solutions. The course starts by looking at the various components of an embedded Linux target, development choices and debugging possibilities. We learn to use the most common buildsystems: Buildroot and Yocto. Next we take a more detailled look at the Linux kernel architecture, important issues such as cross compilation and building of the most important components. Finished by some more specific subjects to the choice of the customer (such as Real Time Linux, initiation to kernel configuration and development,... ). During this course all participants will have the opportunity to build and experiment with a multifunctional small-footprint embedded target with a serial port and network interface. After the course, the participants can take the board with them to continue experimenting.

Knowledge prerequisites
IT Background and general Linux skills. Linux Power User or simular experience, Linux System Administration or simular practical experience (knowledge of things like kernel compilation and filesystem internals are prerequisites), C/C++ Programming experience

Method Course/Workshop, classical educations with practical exercises.

Participants Everybody who is responsible for designing and maintaining Embedded Linux Systems.

Course Flow

Welcome and Walkthrough (first half day 1)
A more in-depth look at the system architecture
  • The Kernel
  • Filesystems
  • Processes
  • Networking
  • More on Bash
  • Text Editor and linux command line utilities

Development (day 1 and day 2)
Development tools

  • GNU make, gas, gcc, ld, gdb
  • bootup process of Linux
  • compiler options
  • Remote debugging
  • options, builtins and defaults
  • build hierarchy - structure, scripts and Makefiles
  • setting up the cross compiler environment toolchain
  • Busybox, buildroot, openembedded/angstrom, ltib

Advanced (day 3)
Kernel architecture

  • Processes and the scheduler
  • Interrupts
  • Memory management
  • modules, kernel
  • char, block, network
  • How to optimize the kernel for latency
  • How to optimize boot time
  • Realtime Linux
Embedded (day 4 and part of day 5)
Host / Target relationship
  • Cross compilation
  • compiler preparation (exercise)
  • linker preparation - ldscript, crt0
  • Building an embedded kernel
  • Building the root file system
  • the most important components
  • Booting - u-boot, redboot, grub, lilo, other boot loaders
  • A running system
  • Upgrading your target


Additional subjects (day 5)

  • Networked targets updating techniques
  • Linux Kernel Development overview
  • Real Time Linux and Xenomai, Performance analysis
  • a deeper look into Embeddded GTK, QT Embedded, WebKit and Enlightenment
  • Further Study







Administrative Information
Course Dates:
18 Nov - 22 Nov 2024 in Eindhoven
5 May - 9 May 2024
17 Nov - 21 Nov 2025 in Eindhoven

Courseware: Course materials provided, complemented with 2 books: Building Embedded Linux Systems and Linux Kernel Development (3rd Edition) and a free ARM-based Embedded Linux board for later experimentation.
Currently we provide the BeagleBone Black 1Ghz ARM Cortex-A8 based board. But it is also possible to request a version of the course with the MicroZed Xilinx Zynq®-7000 based board or the FriendlyARM Mini2440 Samsung S3C2440 ARM9 based board or an Allwinner SoC based board.

Price 3.795,- € + VAT

More information
Phone: +32 (0)2 747 47 01
Course Registration Form

Back to Linux Belgium Education