Catégories

Installation de SystemTap sur Debian 5.0 Lenny

SystempTap est un ensemble d’outils permettant de suivre l’activité du noyau Linux, en traçant ses fonctions internes. Cela permet de recueillir de nombreuses informations non disponibles avec les outils habituels (ps, top, vmstat, iostat, netstat, …).

Commencez par récupérer le version du noyau en cours:

# uname -r
2.6.26-2-amd64

Ensuite, installez les paquetages suivants, en faisant correspondre la version des sources du noyau Linux:

# apt-get install linux-source-2.6.26 systemtap kernel-package fakeroot libncurses5-dev gcc libc6-dev

Attention! un noyau Debian compilé avec les informations de debuggage prend beaucoup de place, prévoyez :

  • Sources + Compilation: 4.0Go
  • Paquetages générés: 250Mo
  • Paquetages installés:
    • /lib/modules: 800Mo
    • /boot: 120Mo

Placez-vous dans un répertoire de travail, puis: Décompressez les sources du noyau:

$ tar jxvf /usr/src/linux-source-2.6.26.tar.bz2

Récupérez la configuration actuelle de votre noyau Linux:

$ cd linux-source-2.6.26
$ cp /boot/config-`uname -r` .config

Configurez les paramètres du noyau en lançant la commande:

$ make menuconfig

Allez dans « General setup »:

Sélectionner « Kprobes »:

Revenez avec « Exit », et allez dans « Kernel hacking »:

Sélectionnez « Compile the kernel with debug info »:

Quittez avec « Exit » (2 fois) et confirmez l’enregistrement de la configruation.

Normalement les options suivantes sont activées (dans le fichier « .config »):

CONFIG_KPROBES=y
CONFIG_KRETPROBES=y
CONFIG_DEBUG_INFO=y

Modifiez le fichier /etc/kernel-pkg.conf et ajoutez le paramètre suivant:

install_vmlinux = YES

En passant, vous pouvez indiquer vos informations en remplaçant « your name » et « your email »:

# The maintainer information.
maintainer := your name
email := your email

Si vous avez plusieurs CPU/coeurs, utilisez la variable d’environnement suivante pour compiler en parallèle (une bonne règle est de mettre « Nombre de coeurs + 1″):

$ export CONCURRENCY_LEVEL=9

Récupérez la version du noyau actuel:

$ uname -r
2.6.26-2-amd64

Lancez la compilation en utilisant la révision récupérée:

$ make-kpkg --initrd --append-to-version=-2-amd64-st-1.0 kernel_image kernel_headers

Installez le noyau:

$ cd ..
# dpkg -i linux-image-2.6.26-2-amd64-st-1.0_2.6.26-2-amd64-st-1.0-10.00.Custom_amd64.deb linux-headers-2.6.26-2-amd64-st-1.0_2.6.26-2-amd64-st-1.0-10.00.Custom_amd64.deb

Rebootez

Testez SystemTap en récupérant un exemple sur un des sites suivants:

http://sourceware.org/systemtap/examples/

http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/html/SystemTap_Beginners_Guide/useful-systemtap-scripts.html

Il suffit de lancer la commande suivante (Control-C pour quitter):

# stap -v <fichier.stp>

Happy tracing !

Faire un commentaire

 

 

 

Vous pouvez utiliser ces tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre user="" computer="" escaped="">