+33 (0)7 81 63 46 11

contact@hupstream.com

Contribuer

Plus de 15 ans de contribution dans le milieu Open Source 

Former

Accompagner nos clients et de les rendre autonomes sur les techonologies Open Source

Industrialiser

Accompagner dans l’intégration et l’industrialisation 

Mobiliser

Mobiliser des acteurs au service de nos clients ou dans le cadre de conférences

NOS FORMATIONS

Debug kernel

Formez votre équipe au debug kernel !

Nos formations sont proposées en inter-entreprise selon le calendrier proposé ci-dessous. Nous pouvons aussi nous déplacer au sein de votre entité. N’hésitez pas à nous demander plus d’information !

Objectifs du cours

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.

La formation au debug kernel propose d’explorer avec le participant le système qui sous-tend le fonctionnement du noyau pour mieux l’appréhender et connaitre 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.

Connaître les sources d’information relatives au fonctionnement du noyau Linux.

  • 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 recueillies

Prérequis

Les prérequis pour cette formation :

  • connaissance du système Linux
  • connaissance de base en C

    Contenu

    JOUR 1

    Systèmes de fichiers et debug

    • 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

    Debug user space

    • Récupérer un core dump
    • Utiliser gdb
    • Détection de head corruption avec heap / alloc

    Erreurs kernel et dialogue avec le noyau

    • cktrace
    • warn
    • Kernel tainted – liste des flags
    • oops
    • panic
    • bug

    Configurer son kernel pour améliorer le debug

    • debug info
    • kdump / kexec
    • Configuration de spin lock, mutex, utilisation de locks
    • printk

    JOUR 2

    Les outils de debug kernel

    • 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

    Analyser les informations recueillies

    • 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_* ?

    votre session

    vos formateurs

    votre inscription

    accessibilité

    Détails pratiques

    • Durée : 2 jours
    • Niveau : débutant
    • Objectif : Savoir collecter de manière exhaustive les informations liées à un dysfonctionnement du noyau et analyser les informations ainsi reccueillies
    • Prix : 1 400€ HT

    La méthode

    La formation alternera 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.

    Prochaines dates de formation

    • 09 et 10/02/2023
    • 15 et 16/05/2023
    • 11 et 12/09/2023
    • 04 et 05/12/2023

     

    Demander un devis