第一步 我們首先應該下載kernel的軟件包,可以點擊進行下載
第二步 然后解壓linux*對應版本的軟件包到到當前目錄,當前本人所在目錄為用戶家目錄
tar xvf linux-4.12.tar.xz
第三步 cd切換進解壓后的目錄中,如cd linux-4.12,并之后的編譯安裝等操作都只能在此目錄下執行
第四步 復制系統本身的內核模塊功能文本配置文件并重命名為.config
cp /boot/config-$(uname -r) .config
第五步 安裝開發包組
yum -y groupinstall "Development Tools"
第六步 執行編譯,使用菜單配置內核選項,若編譯報錯,則根據報錯提示安裝對應的軟件包
make menuconfig
第七步 編譯內核,編譯過程有點長,請耐心等待,請勿終止操作
make -j 2 使用2個CPU多線程同時編譯
第八步 根據錯誤提示安裝軟件包,如下圖
提示安裝openssl-devel軟件包
yum -y install openssl-devel 根據錯誤提示安裝相應的軟件開發包
第九步 然后繼續編譯 make -j 2
第十步 在編譯完成之后,更新數據庫,然后就可以查看我們編譯進內核的模塊是否成功
updatedb 更新數據庫 locate ntfs.ko 查看我們編譯進內核的ntfs模塊是否存在于內核中
第十一步 安裝復制模塊文件,安裝過程有點長,請耐心等待
make modules_install
第十二步 將內核拷貝到/boot目錄下并修改grub文件,make執行報錯,若報錯,則根據提示安裝對應的軟件包
make install 將內核拷貝到/boot目錄下并修改grub文件 報錯信息如下
yum -y install elfutils-libelf-devel 安裝elfutils-libelf-devel包 make install 繼續執行
第十三步 查看/boot目錄下已生成vmlinuz-4.12.0-danran內核文件和grub.cfg或grub.conf文件是否改變
/boot/vmlinuz-4.12.0-danran cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一個新內核菜單
第十四步 reboot 重啟系統選擇新內核啟動
清理內核編譯產生的文件
cd linux-4.12 make clean:清理大多數編譯生成的文件,但會保留config文件等; make mrproper:清理所有編譯生成的文件、config及某些備份文件 make distclen:mrproper、patches以及編輯器備份文件
內核編譯操作流程如下
-
下載linux*相應軟件包
-
tar xvf linux-4.12.tar.xz 解壓內核到當前目錄
-
cd linux-4.12
-
cp /boot/config-3.10.0-514.el7.x86_6 .config 復制系統本身的功能配置文件到內核解壓目錄下并命名為.config
-
ls .config
-
yum -y groupinstall "Development Tools" 安裝Development Tools開發包組
-
make menuconfig 打開圖形功能配置界面
-
如果上一步驟報錯,則按照報錯提示安裝相應的軟件包,eg ncurses-devel軟件包
-
修改內核的版本號為danran
-
添加內核的支持ntfs功能
-
vim .config 查看配置文件,確認ntfs功能是否開啟,內核版本號是否改變
-
lscpu 查看cpu信息,和cpu核數
-
make -j 2 編輯內核
-
根據編譯報錯提示安裝相應的軟件包
上圖所示,提示安裝openssl-devel軟件包 -
yum -y install openssl-devel 根據錯誤提示安裝相應的軟件開發包
-
yum -y install elfutils-libelf-devel
-
make -j 2 繼續編譯,編譯時間有點長,請耐心等待,請勿終止
-
updatedb 更新數據庫
-
locate ntfs.ko 查看我們編譯進內核的ntfs模塊是否存在于內核中
-
make modules_install 安裝復制模塊文件,請耐心等待復制過程
-
cd /lib/modules
-
find 4.12..danran/ -name “.ko” 查看新編譯內核中的所有ko模塊文件
-
cd /root/linux-4.12
-
make install 將內核拷貝到/boot目錄下并修改grub文件,make執行報錯,根據提示安裝相應軟件包
-
yum -y install elfutils-libelf-devel 安裝elfutils-libelf-devel包
-
ll /boot/vmlinuz-4.12.0-danran 查看/boot目錄下已生成vmlinuz-4.12.0-danran內核文件
-
cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一個新內核菜單
-
reboot 重啟系統選擇新內核啟動
-
ls linux-4.12/fs/ntfs/ntfs.ko 查看ntfs模塊是否安裝
單獨編譯ntfs.ko模塊文件
-
cd linux-4.12 進入內核目錄
-
make fs/ntfs/ntfs.ko 重新編譯ntfs.ko模塊文件
-
ll fs/ntfs/ntfs.ko 查看ntfs.ko模塊文件是否編譯生成
-
cp fs/ntfs/ntfs.ko /lib/modules 單獨拷貝模塊文件到/lib/modules中
內核的相關知識點請點擊鏈接