編譯內核4.12 第一步 我們首先應該下載kernel的軟體包,可以點擊https://www.kernel.org/進行下載 第二步 然後解壓linux 對應版本的軟體包到到當前目錄,當前本人所在目錄為用戶家目錄 tar xvf linux 4.12.tar.xz 第三步 cd切換進解壓後的目錄中 ...
編譯內核4.12
第一步 我們首先應該下載kernel的軟體包,可以點擊https://www.kernel.org/進行下載
第二步 然後解壓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中
內核的相關知識點請點擊鏈接http://www.jianshu.com/p/b20c57cc7121