Linux Kernel Debugging

Dumping, Debugging und Analyse des Linux Kernels für Admins

Als ein Vorteil von Linux wird immer wieder die Verfügbarkeit des Quellcodes aufgeführt. Es ist aber nicht nur der Quellcode allein, sondern der komplette Satz an Entwicklungs- und Analysetools um den Linux Kernel herum. Er versetzt Administratoren in die Lage ihre auf Linux aufbauenden Produkte noch in Situationen zu beherrschen, wo andere nur noch auf den Hersteller hoffen können.

In diesem Kurs werden Grundlagen des Kernel Dumping, Debugging und Analysieren vermittelt. Der Kurs fokussiert hierbei nicht nur auf (angehende) Kernel Entwickler. Auch Linux System Administratoren lernen dabei, wie sie Softwareprobleme/-fehler bis in den Kernel hinein nachverfolgen und lokalisieren können.

Der Kurs besteht aus zwei größeren Teilbereichen: "Kernel Dumping & Debugging" sowie "System/Kernel Analyse/Profiling mit Systemtap".

Voraussetzungen

Dieser Kurs wendet sich an erfahrene Linux Administratoren (nicht an Entwickler!).

Sie sollten Kernel Module laden und entladen können, und einen Kernel konfigurieren, compilieren und installieren können.

Inhalt

Kernel Dumping

  • Dump Tools
  • kdump
  • lkcd
  • kexec
  • Was steht in einem Dump? / Datensicherheit

Installation

  • aus den Quellen
  • Besonderheiten gängiger Distributionen
  • Dump Kernel
  • Kernel + Debuginfo

Konfiguration

  • Dump Formate
  • Dump Filter
  • Kernel Dump Ziel (Lokales Dateisystem, FTP, NFS, ...)

Dump Erzeugung

  • Kernel Crash/Ooops
  • SysRq
  • NMI (via Management Prozessoren)
  • weitere Kernel-Konfigurationen

Kernel Dump Analyse

  • gdb / crash / lcrash
  • Laden eines Crashdump
  • Kernel task_struct
  • Prozess Backtrace / Wieso hängt das System?

Systemtap

Einleitung

  • Einführung in Systemtap
  • Was passiert im Detail?
  • Welchen Einfluß hat Systemtap auf das System?

Installation

  • aus den Quellen
  • Besonderheiten gängiger Distributionen
  • Kernel + Debuginfo

Systemtap Scripting

  • Einfache Beispiele als Einstieg
  • Systemtap Scripte und Tapsets
  • Fortgeschrittene Scripte für Process/Network/Disk Profiling