Centos7編譯替換內核
查看Linux內核版本
安裝
cd /tmp/
wget http://vault.centos.org/7.4.1708/os/Source/SPackages/kernel-3.10.0-693.el7.src.rpm
rpm -ivh kernel-3.10.0-693.el7.src.rpm
安裝之後在
/root/rpmbuild/SOURCES
下生成linux-3.10.0-693.el7.tar.xz文件。 用
/root/rpmbuild/SPECS
目錄通過如下命令解壓代碼,並且打上所有的patch文件
rpmbuild -bp kernel.spec
如果過程中提示有相關的依賴包要安裝,直接通過
yum install
去安裝。
編譯
上面的過程完成之後,會在
/root/rpmbuild/BUILD
目錄生成kernel-3.10.0-693.el7文件夾,然後進入就是我們要的最終的內核源碼文件。
make mrproper
make mrproper
是刪除之前編譯所生成的文件、配置文件和備份文件等,如果是第一次編譯內核則可以跳不執行此步驟。與之相似的命令還有
make clean
、
make distclean
,刪除範圍是
distclean > mrproper > clean
。
cp /boot/config-3.10.0-693.2.2.el7.x86_64 .config
這一步是把現有內核(正在運行的內核,你的舊內核)的.config配置文件複制過來。
make menuconfig
這裏我用的是menuconfig,有圖形化界面比較方便,這裏界面彈出來之後直接exit就好。
make
編譯內核,3.10的版本內核直接make就好了,老版本的內核可能要分別執行幾個命令。這一步時間要比較久。
make modules_install
這一步時間也比較久,但比上一步驟用時短一些。
make install
完事之後,重啟,會看見選擇運行哪個內核的界面,選擇剛剛編譯的內核進入就可以了。