编译安装systemtap

编译内核

以前的配置cp /boot/config-`uname -r` .config

Software-source 换源

sudo apt-get update

sudo apt-get install build-essential
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev

 

sudo make menuconfig

首先你想让内核中有调试信息,编译内核时需要加上 -g 标志;其次,你还需要在配置内核时将 Kprobe debugfs 开关打开。最终效果是,你能在内核 .config 文件中看到下面四个选项是设置的:

CONFIG_DEBUG_INFO

 CONFIG_KPROBES

 CONFIG_DEBUG_FS

 CONFIG_RELAY

报错:

 

fatal error: openssl/opensslv.h: No such file or directory

 

解决办法:

sudo apt-get install libssl-dev或yum install libssl-dev

 

sudo make install

sudo make modules

sudo make modules_install //注意下划线

sudo mkinitramfs  -o  /boot/initrd.img-4.4.1  /lib/modules/4.4.1

 

 

 

 

sudo reboot

重启,运行新内核

 

网上有很多编译systemtap 源码安装的,不要编译,几次编译都无法通过。

sudo apt-get install systemtap

 

运行测试命令:

sudo stap -v -e 'probe vfs.read {printf("read performed/n"); exit()}'

 

 

编译安装systemtap_第1张图片

 

  但是在安装3.19.1 版本的内核中,systemtap 无法使用:

编译安装systemtap_第2张图片

而且在安装systemtap时提示安装2.6版本的内核:

编译安装systemtap_第3张图片

  (systemtap-doc vim-addon-manager linux-image-2.6 linux-headers-2.6

  linux-debug-2.6)

说明只有编译安装固定版本的内核才可以

你可能感兴趣的:(kernel,systemtap)