在本文實踐過程中出現任何問題和報錯,基本都能在我的另外一篇文章中找到解決辦法,鏈接為:https://www.cnblogs.com/y-c-y/p/14140714.html
內核編譯安裝傻瓜教程(1-4步驟)
使用工具:ubantu18.04(可以使用uname -a查看當前的內核版本) linux5.8.5.tar.xz
Ubantu 往期版本下載地址:
http://old-releases.ubuntu.com/releases/10.10/
Linux內核各個版本下載地址:
https://mirrors.edge.kernel.org/pub/linux/kernel/
步驟1.首先安裝交叉編譯環境
sudo apt update ##更新apt工具
sudo apt-get install build-essential ##安裝gcc和g++的編譯環境
步驟2.准備好要編譯的內核源代碼進入編譯目錄
cp linux-5.8.5.tar.xz /usr/src/ ##將內核代碼壓縮包拷貝到編譯目錄
cd /usr/src/ ##進入編譯目錄
xz -d linux-5.8.5.tar.xz ##解壓原代碼包
tar xvf linux-5.8.5.tar ##解壓原代碼包
cd linux-5.8.5 ##進入解壓之后的源碼目錄
步驟3.接下來的每一步都要做,每一步都要等很久,所以千萬不要忘了自己剛剛執行的命令是什么
make clean ##只清理所有產生的文件
make mrproper ##清理所有產生的文件與.config配置文件
make oldconfig ##生成.config文件,一路回車即可
make ##編譯內核和其他模塊
make modules_install ##安裝其他模塊
male install ##安裝內核
reboot ##系統重啟
步驟4.接下來是最重要的一步
雙手合十,閉上雙眼,一邊回想自己之前的步驟有沒有問題,一邊祈禱能夠成功。
重啟之后沒有像別的文章說的一樣有開機選擇系統的界面,還是和之前一樣進入了ubantu系統,但是輸入uname -r之后會發現已經是新的內核了。
=到此編譯步驟結束=========================================
關於各個步驟的解釋
1.安裝交叉編譯環境,這沒什么好說的,想要詳細了解,那就是另外的事情了。
2.關於步驟三中的一套make命令是最精簡版本,其中
make = make bzImage + make modules
make ##編譯內核和其他模塊的命令
make bzImage ##編譯內核命令,
內核現在的版本編譯出來普遍較大,例如以上的就是11M,推薦使用命令make bzImage而不是make zImage ,編譯出來的對應在源碼編譯目錄的arch/
make modules ##編譯其他模塊,很多驅動還有功能在.config文件生成時候在(Y/N/M)的時候選成M的都是modules
make modules_install ##把modules安裝好。把模塊放到/lib/modules文件夾一個和內核名一樣的文件夾下,並且運行depmod生成模塊依賴關系文件,系統啟動時加載模塊就是從dep里面讀取信息加載模塊。
make install ##這一步只是安裝內核bzImage,System.map。並不安裝modules。關鍵點是要生成initrd.img文件,修改系統引導配置,產生grub.cfg啟動文件。使用這個命令是最簡單的方法,也可以選擇使用mkinitramfs 等命令。
參考文章如下:
https://blog.csdn.net/qq_34247099/article/details/50949720
https://www.cnblogs.com/klb561/p/9192630.html
https://blog.csdn.net/weibo1230123/article/details/82716763
https://www.cnblogs.com/gavin-world/p/11169282.html