內核編譯步驟

第一步 我們首先應該下載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以及編輯器備份文件

內核編譯操作流程如下

  1. 下載linux*相應軟件包

  2. tar xvf linux-4.12.tar.xz 解壓內核到當前目錄

  3. cd linux-4.12

  4. cp /boot/config-3.10.0-514.el7.x86_6 .config 復制系統本身的功能配置文件到內核解壓目錄下并命名為.config

  5. ls .config

  6. yum -y groupinstall "Development Tools" 安裝Development Tools開發包組

  7. make menuconfig 打開圖形功能配置界面
    內核編譯步驟

  8. 如果上一步驟報錯,則按照報錯提示安裝相應的軟件包,eg ncurses-devel軟件包

  9. 修改內核的版本號為danran
    內核編譯步驟
    內核編譯步驟
    內核編譯步驟
    內核編譯步驟

  10. 添加內核的支持ntfs功能
    內核編譯步驟
    內核編譯步驟
    內核編譯步驟

  11. vim .config 查看配置文件,確認ntfs功能是否開啟,內核版本號是否改變

  12. lscpu 查看cpu信息,和cpu核數

  13. make -j 2 編輯內核

  14. 根據編譯報錯提示安裝相應的軟件包
    內核編譯步驟
    上圖所示,提示安裝openssl-devel軟件包

  15. yum -y install openssl-devel 根據錯誤提示安裝相應的軟件開發包

  16. yum -y install elfutils-libelf-devel

  17. make -j 2 繼續編譯,編譯時間有點長,請耐心等待,請勿終止

  18. updatedb 更新數據庫

  19. locate ntfs.ko 查看我們編譯進內核的ntfs模塊是否存在于內核中
    內核編譯步驟

  20. make modules_install 安裝復制模塊文件,請耐心等待復制過程
    內核編譯步驟

  21. cd /lib/modules

  22. find 4.12..danran/ -name “.ko” 查看新編譯內核中的所有ko模塊文件

  23. cd /root/linux-4.12

  24. make install 將內核拷貝到/boot目錄下并修改grub文件,make執行報錯,根據提示安裝相應軟件包
    內核編譯步驟

  25. yum -y install elfutils-libelf-devel 安裝elfutils-libelf-devel包

  26. ll /boot/vmlinuz-4.12.0-danran 查看/boot目錄下已生成vmlinuz-4.12.0-danran內核文件

  27. cat /boot/grub2/grub.cfg 查看grub配置文件,里面多了一個新內核菜單
    內核編譯步驟

  28. reboot 重啟系統選擇新內核啟動

  29. ls linux-4.12/fs/ntfs/ntfs.ko 查看ntfs模塊是否安裝

單獨編譯ntfs.ko模塊文件

  1. cd linux-4.12 進入內核目錄

  2. make fs/ntfs/ntfs.ko 重新編譯ntfs.ko模塊文件

  3. ll fs/ntfs/ntfs.ko 查看ntfs.ko模塊文件是否編譯生成

  4. cp fs/ntfs/ntfs.ko /lib/modules 單獨拷貝模塊文件到/lib/modules中
    內核編譯步驟

內核的相關知識點請點擊鏈接

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享