環境:
CentOS-6.9
編譯前准備工作:
(1) 准備好開發環境
~]# yum groupinstall -y "Server Platform Development" "Development Tools " #安裝所需要的軟件包組
(2) 獲取目標主機上硬件設備的相關信息
~]# cat /proc/cpuinfo #CPU
~]# x86info -a
~]# lscpu
~]# lsusb #USB設備
~]# lspci #PCI設備
~]# lsblk #塊設備相關信息
~]# hal-device #獲取當前系統所有的硬件設備信息
(3) 獲取到目標主機系統功能的相關信息,例如要啟用的文件系統
(4) 獲取內核源碼包 htts://www.kernel.org
linux-3.2.94.tar.xz
使用現有的模板來編譯,不在手動編寫config文件
~]# tar -xflinux-3.2.94.tar.xz -C /usr/src #將內核文件解壓值/usr/src目錄下
~]# cd /usr/src
~]# ln -sv linux-2.6.39 linux #創建連接文件,許多應用程序會到/usr/src目錄下找一個叫做linux的目錄
~]# cd linux
~]# cp /boot/config-$(uname -r) .config #將/boot/目錄下的config文件復制到當前目錄,並命名為.config
~]# make menuconfig #選擇所需的模塊即可,編譯成模塊或編譯進內核,選定后退出並保存
#make支持很多的方式,可使用make help查看#
此時需要修改/boot/grub/grub.conf文件,將default=1改為default=0
~]# vim /boot/grub/grub.conf
~]# make -j 4 #啟動多線程進行編譯
#因為是遠程連接的,編譯內核時間稍長,為保險起見,建議使用使用screen打開一個虛擬屏幕#
~]# screen 若提示沒有此命令,安裝即可 yum install -y screen
~]# screen -ls #當連接斷開之后重新連接上時可查看當前的屏幕在哪兒
~]# screen -r NUMBER #恢復到當前屏幕
編譯完成之后,即可安裝:
~]# make modules_install #先安裝模塊
~]# make install #安裝內核文件
等待安裝完成之后,重啟系統,手動選擇編譯安裝的內核來啟動,感受新內核
至此,簡單的內核編譯安裝完成