This online course is an Embedded Linux debugging, profiling, tracing and performance analysis training course.
• Lectures delivered by the trainer: 50% of the duration
• Practical labs done by participants: 50% of the duration
Trainees can opt to follow lab demonstrations done by the tutor or to order the demo board and replicate the labs themselves (recommended). Extra session if needed: November 25, 2022, 13:00 to 17:00 GMT
The course training objectives are to enable participants to:
• Be able to understand why a system is loaded and what are the elements that
contributes to this load using common Linux observability tools.
• Be able to profile a complete userspace application and its interactions with
the Linux kernel in order to fix bugs using standard tools.
• Be able to analyze performance issues of an application (user/kernel) and understand
how to address them.
• Be able to analyze a kernel oops either live or post-mortem.
• Be able to debug and trace a kernel module by using KGDB and kprobes.
• Be able to profile a kernel module using perf, LTTNG and other tools.
Who is the course for?
This course is intended for companies and engineers interested in debugging, profiling and tracing Linux systems and applications, to analyze and address performance or latency problems.
• Knowledge and practice of UNIX or GNU/Linux commands: participants must be familiar with the Linux command line. Participants lacking experience on this topic should train themselves, for example with our freely available on-line slides at bootlin.com/blog/command-line/.
• Minimal experience in embedded Linux development: participants should have a minimal understanding of the architecture of embedded Linux systems: role of the Linux kernel vs. user-space, development of Linux userspace applications in C. Following Bootlin’s Embedded Linux course at bootlin.com/training/embedded-linux/ allows to fulfill this pre-requisite.
The course is delivered on-line, through 4 sessions of 4 hours each, plus an extra session of 4 hours which will take place if additional time is needed to finish covering all topics and questions.
Lecture – Linux application stack
Lecture – Common analysis & observability tools
Demo – Check what is running on a system and its load
Lecture – Debugging an application
Demo – Solving an application crash
Lecture – Tracing an application, Demo – Debugging application issues
Lecture – Memory issues, Demo – Debugging memory issues
Lecture – Application profiling, Demo – Application profiling
Lecture – System wide profiling and tracing
Demo – System wide profiling and tracing
Lecture – Kernel debugging, Demo – Kernel debugging
Extra session if needed: November 25, 2022, 13:00 to 17:00 GMT
Please click on the “Full Course Details” link on the image above to view a more detailed PDF course description document.
Clément Léger joined Bootlin from Kalray in 2021. Clément worked for 9 years at Kalray, where Clément was in charge of the Linux kernel and bootloader porting to the new custom CPU architecture called KVX. Clément worked on a broad range of embedded software ranging from bare-metal to Linux kernel development. He contributed to many aspects of embedded software ranging from hardware definition, validation, board bringup, bootchain, Linux kernel and communication libraries and gained experience on the low-level parts of the KVX processor (interrupts, syscall, exceptions, etc) to support them in the Linux kernel arch/ subsystem. Drivers for peripherals were also developed in various subsystems such as remoteproc, irqchip, pinctrl and spimem.
Clément Léger’s profile is available at: