編譯安裝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()}'

 

 

 

  但是在安裝3.19.1 版本的內核中,systemtap 無法使用:

而且在安裝systemtap時提示安裝2.6版本的內核:

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

  linux-debug-2.6)

說明只有編譯安裝固定版本的內核纔可以

發佈了5 篇原創文章 · 獲贊 0 · 訪問量 851
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章