Training > Linux Kernel Development > Linux Kernel Debugging (LFD445)
INSTRUCTOR-LED COURSE

Linux Kernel Debugging (LFD445)

Gaining expertise in Linux kernel debugging will position you as a more versatile, knowledgeable and valuable asset to any organization while opening new career doors and helping you participate more actively in the open source community.

Who Is It For

This course is designed for current or aspiring kernel developers, device driver developers, and anyone interested in shortening the development cycle by taking advantage of existing tools and facilities.
read less read more
What You’ll Learn

You will learn techniques for local debugging by configuring a system (physical or virtual) for remote debugging from a second system and working with the basic components of the Linux kernel that underlie the built-in debugging frameworks.
read less read more
What It Prepares You For

To deliver improved productivity in Linux kernel development environments by diagnosing and fixing kernel issues more efficiently.
read less read more
Course Outline
Introduction
Preliminaries
How to Work in OSS Projects **
Kernel Features
Kernel Deprecated Interfaces
Printk
Monitoring and Debugging
Ftrace
Kernel and git Bisection
Kernel Development Tools
Perf
kprobes
eBPF
QEMU
gdb Kernel Scripts
Linux Kernel Debugging Tools
Crash
kexec

**
These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.
Prerequisites
To make the most of this course, you should:
  • Be proficient in the C programming language.
  • Be familiar with basic Linux (UNIX) utilities such as ls, grep and tar.
  • Be comfortable using any of the available text editors (e.g. emacs, vi, etc.).
  • Experience with any major Linux distribution is helpful but not strictly required.
  • Have experience equivalent to having taken Linux Kernel Internals and Development (LFD420).
Lab Info
Systems should have 2+ CPUs and 4GB+ of RAM, as verified by the ready-for.sh script; the more resources available, the faster and smoother the labs will be.