
- Durée
- 2 jours
- Niveau
- Fondamental
- Modalités
- Distanciel
Description de la formation Debug Kernel
Le point commun de toute plate-forme exploitée sous Linux, serveur, poste de travail, matériel embarqué, est sans aucun doute le noyau Linux. Les tests ou la mise en oeuvre de telles plate-formes dans des conditions plus ou moins extrêmes ou sur du matériel plus ou moins exotique conduisent assez fréquemment à des situations de blocage partiel (oops) ou total (panic) du noyau.
Cette formation Debug Kernel propose d’explorer avec le participant le système qui sous-tend le fonctionnement du noyau pour mieux l’appréhender et connaître les sources d’information liées.
Elle propose également des outils et des méthodes pour collecter les informations nécessaire à la dernière phase qui consiste en l’analyse du problème rencontré. Le participant est alors capable soit de corriger le dysfonctionnement soit de transmettre l’ensemble de ces informations au niveau compétent en faisant ainsi gagner du temps sur cette phase d’analyse.

Objectifs pédagogiques
Objectifs pédagogiques :
Concrètement, cette formation Debug Kernel vous apporte les connaissances et compétences nécessaires pour :
- Connaître les sources d’information relatives au fonctionnement du noyau Linux
- Savoir collecter de manière exhaustive les informations liées à un dysfonctionnement du noyau
- Savoir analyser les informations ainsi recueillies
Objectifs opérationnels
Collecter de manière exhaustive les informations liées à un dysfonctionnement du noyau et analyser les informations ainsi recueillies.
Programme
Contenu du cours, module par module
6 modules
- Système de fichiers virtuel procfs
- Système de fichiers virtuel sysfs
- Collecter des informations de debug avec debugfs
- Stocker des informations de manière persistante avec pstore
- Récupérer un core dump
- Utiliser gdb
- Détection de head corruption avec heap / alloc
- cktrace
- warn
- Kernel tainted – liste des flags
- oops
- panic
- bug
- debug info
- kdump / kexec
- Configuration de spin lock, mutex, utilisation de locks
- printk
- system.map
- Mettre en place une console série
- Spécificités de l’utilisation d’une console série sous Xen
- Mise en place d’une netconsole
- Utiliser qemu pour debugger
- kgbd (port série)
- crash / kdump
- De l’importance de l’appareil photo
- Tracing / ftrace
- Quelques paramètres kernel utiles :
- panic=oops, vga=, earlyprintk=, ignore_loglevel, initcall_debug, log_buf_len
- Identifier des adresses mémoire avec addr2line
- gdb, le couteau suisse du débogage
- Un outil d’analyse dédié au kernel : crash
- Outil d’aide à l’analyse : printk
- Définir un format de message avec pr_*
- Extraire le device et son driver avec dev_*
- printk versus dev_* ?
Travaux pratiques
La formation alterne apports théoriques et mise en applications de chaque notion abordée.
Les participants travailleront à la fois sur des rapports de bugs réels mais aussi sur des simulations de crash grâce à l’émulateur qemu.
Il sera également fait appel à l’expérience des participants qui pourront proposer des informations relatives à une problématique rencontrée.
Programme mis à jour le 24/10/2025
Public concerné
Ce cours Debug Kernel cible prinicpalement les développeurs Linux.

Prérequis
Pour suivre cette formation Debug Kernel dans des conditions optimales, il est nécessaire d'avoir une certaine connaissance du système Linux, ainsi que des connaissances de base en langage C.
J’évalue mes connaissances pour vérifier que je dispose des prérequis nécessaires pour profiter pleinement de cette formation en faisant le test de prérequis.
Faire le testFinancement
Cette formation peut être prise en charge par votre entreprise, seule ou avec l’appui de son opérateur de compétences. Nous fournissons le devis et les pièces attendues par l’OPCO.
Formations liées
- Les bases de Linux (niveau 1)Réf. ULBA3 joursFondamentalProchaine session : 30 nov.2 090 €
- Linux Prise en MainRéf. ULMO3 joursFondamentalProchaine session : 30 nov.2 090 €
- Unix prise en mainRéf. UUES3 joursFondamentalProchaine session : 30 nov.2 090 €
- Ecriture de drivers et programmation noyau Linux Réf. ULED4 joursAvancéProchaine session : 24 nov.2 520 €