編譯內核
以前的配置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)
說明只有編譯安裝固定版本的內核纔可以