Embedded Linux course/workshop

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. 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, QT development,... ).

Schedule

No public sessions are currently scheduled. We will be pleased to set up an on-site course or to schedule an extra public session (in case of a sufficient number of candidates). Interested? Please contact ABIS.

Intended for

Everybody who is responsible for designing and maintaining Embedded Linux.systems

Background

IT Background and general Linux skills. Knowledge of things such as kernel compilation and file system internals are prerequisites. C/C++ programming experience is also required.

Main topics

  • A more in-depth look at the system architecture
  • the kernel
  • file systems
  • processes
  • networking
  • more on Bash
  • text editors and Linux command line utilities
  • 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
  • Kernel architecture
  • processes and the scheduler
  • interrupts
  • memory management
  • modules, kernel
  • char, block, network
  • how to opimize the kernel for latency
  • how to optimize the boot time
  • real-time Linus
  • 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 topics
  • 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

Training method

Classical education with practical exercises. During this course all participants will have the opportunity to build and experiment with a multifunctional small-footprint embedded target with an LCD touchscreen interface. After the course, the participants can take the board with them to continue experimenting.

Duration

5 days.

Course leader

Linux Belgium.


SESSION INFO AND ENROLMENT