CentOS試編譯核心
阿新 • • 發佈:2018-12-01
// 環境:CentOS 6.8 ( 2.6.32-642.el6.x86_64 核心 )
1.從 www.kernel.org 下載相應版本的核心打包檔案,我下載的是 linux-2.6.38.tar.xz
2.將核心打包檔案解壓到 /usr/src/kernels/ 目錄下,進入 linux-2.6.38 資料夾下
3.因為我是第一次編譯這個核心檔案,先鍵入 make mrproper 來將以前進行過的核心功能選擇檔案刪除掉
4.開始挑選核心功能( make xxxconfig ),我採用 make menuconfig 的方式進行選擇。在我的環境下出現了 "requires the ncurses libraries" 的錯誤提示,搜尋的結果是安裝 libncurses5-dev 就可以了,但是使用 yum search libncu* 楞是一個相關的沒有尋找到;在百度經驗上看到解決方法是: yum install ncurses、yum install ncurses-devel( 為了後面的模組編譯不和之前已經編譯過的衝突,需要在 General Setup 內的 Local version 輸入名稱,我第一次編譯的時候沒有注意到這個問題,只能把當前系統的 modules 整個備份 )
6.make modules
7.make modules_install
在第四步更改了 Local version 的話,會在 /lib/modules/ 資料夾下生成對應名稱的模組資料夾
之前以為不管怎樣都要覆蓋當前系統的 modules 資料夾,真的執行了這個命令之後,會在 /lib/modules/ 資料夾下建立新的 2.6.38 資料夾,也就不用做備份了,因為我當前的 modules 是 2.6.30 的,名稱版本啥的不一樣
10.編輯開機選單( grub )
1.從 www.kernel.org 下載相應版本的核心打包檔案,我下載的是 linux-2.6.38.tar.xz
2.將核心打包檔案解壓到 /usr/src/kernels/ 目錄下,進入 linux-2.6.38 資料夾下
3.因為我是第一次編譯這個核心檔案,先鍵入 make mrproper 來將以前進行過的核心功能選擇檔案刪除掉
4.開始挑選核心功能( make xxxconfig ),我採用 make menuconfig 的方式進行選擇。在我的環境下出現了 "requires the ncurses libraries" 的錯誤提示,搜尋的結果是安裝 libncurses5-dev 就可以了,但是使用 yum search libncu* 楞是一個相關的沒有尋找到;在百度經驗上看到解決方法是: yum install ncurses、yum install ncurses-devel( 為了後面的模組編譯不和之前已經編譯過的衝突,需要在 General Setup 內的 Local version 輸入名稱,我第一次編譯的時候沒有注意到這個問題,只能把當前系統的 modules 整個備份 )
5.make bzImage
完成後生成的核心檔案是 ./arch/x86/boot/bzImage
6.make modules
7.make modules_install
在第四步更改了 Local version 的話,會在 /lib/modules/ 資料夾下生成對應名稱的模組資料夾
之前以為不管怎樣都要覆蓋當前系統的 modules 資料夾,真的執行了這個命令之後,會在 /lib/modules/ 資料夾下建立新的 2.6.38 資料夾,也就不用做備份了,因為我當前的 modules 是 2.6.30 的,名稱版本啥的不一樣
9.新建相對應的 Initial Ram Disk
10.編輯開機選單( grub )
11.開機時選擇載入新核心,測試是否能夠正常開機
看到這一步了感覺很激動啊……
我記得安裝了CentOS 6.8第一次開機就是這樣的介面,難道成功了?
我還是太天真了……
找到個解決的方法:http://blog.csdn.net/hebdzw/article/details/46638285 大家可以參考一下
另外,我編譯核心的時候參考的是鳥哥私房菜的對應章節,感興趣的可以看一下。