Publication date : 08/26/2024

Course : Collecting and analyzing information on kernel malfunctions

Practical course - 2d - 14h - Ref. CZL
Price : 1480 € E.T.

Collecting and analyzing information on kernel malfunctions




The Linux kernel generates various messages to identify a bug related to a malfunction. To extract and exploit these messages, you need to know their sources and locations.


INTER
IN-HOUSE
CUSTOM

Practical course in person
Disponible en anglais, à la demande

Ref. CZL
  2d - 14h
1480 € E.T.




The Linux kernel generates various messages to identify a bug related to a malfunction. To extract and exploit these messages, you need to know their sources and locations.


Teaching objectives
At the end of the training, the participant will be able to:
Know the sources of information relating to the operation of the Linux kernel
Collect exhaustive information on core malfunctions
Analyze the information gathered

Intended audience
Linux/Unix developers.

Prerequisites
Good knowledge of Linux/Unix and C programming.

Practical details
Teaching methods
This highly interactive course is supported by numerous progressive exercises and case studies.

Course schedule

1
File systems and debugging

  • procfs virtual file system.
  • sysfs virtual file system.
  • Collect debug information with debugfs.
  • Store information persistently with pstore.
Hands-on work
Recovering a core dump. Use gdb.

2
Kernel errors and dialog with the kernel

  • Head corruption detection with heap / alloc.
  • cktrace.
  • Warn, Kernel tainted, list of flags.
  • Oops, panic, bug.

3
Configuring your kernel to improve debugging

  • Debug info.
  • Kdump / kexec.
Hands-on work
Configuration of spin lock, mutex, use of printk locks.

4
Kernel debugging tools

  • System.map.
  • Set up a serial console.
  • Specifics of using a serial console under Xen.
  • kgbd (serial port).
  • Crash / kdump.
  • Racing / ftrace.
  • Useful kernel parameters: panic=oops, vga=, earlyprintk=, ignore_loglevel, initcall_debug, log_buf_len.
Hands-on work
Using the tools. Setting up a netconsole. Use qemu for debugging.

5
Analyze the information gathered

  • Identify memory addresses with addr2line.
  • Gdb, the Swiss army knife of debugging.
  • Kernel analysis tool: crash.
  • Analysis tool: printk.
  • Define a message format with pr_*.
  • Extract device and driver with dev_*printk versus dev_*?
Hands-on work
Analysis of bug reports.


Customer reviews
5 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
MATHIEU R.
16/10/25
5 / 5

Thank you very much. Full of very precise details and little anecdotes.