1. 程式人生 > >CentOS試編譯核心

CentOS試編譯核心

// 環境: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 整個備份 )

 

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 的,名稱版本啥的不一樣 

 


8.移動新核心到 /boot 下,並保留舊核心檔案
 

9.新建相對應的 Initial Ram Disk


 
10.編輯開機選單( grub )
 

11.開機時選擇載入新核心,測試是否能夠正常開機


看到這一步了感覺很激動啊……


我記得安裝了CentOS 6.8第一次開機就是這樣的介面,難道成功了?


我還是太天真了……

找到個解決的方法:http://blog.csdn.net/hebdzw/article/details/46638285 大家可以參考一下

另外,我編譯核心的時候參考的是鳥哥私房菜的對應章節,感興趣的可以看一下。