1. 程式人生 > 實用技巧 >linux核心升級kernel update 3.2

linux核心升級kernel update 3.2

在kernel升級前,看了好多資料,做了充分的準備,原本打算用rhel5.3升級學習,只是rhel5.3的那臺vm老是被同事close,再則沒有rhel5.3的iso,做yum或到mirrors上下載一些rpm包要轉過去,怕麻煩,於是自己的機子用kvm安裝了一個rhel5.1的vm,下面主要是我的update過程,以便將來參考。

1、 下載

從www.kernel.org下載full source包,上傳到vm,必須在文字模式下,ssh或alt+f2等。

2、 update前檢視版本

3、 安裝前準備

需要gcc、ncurses、ncurese-devel、/usr/src/下要有kernel

上圖沒有滿足條件,必須安裝

4、install

轉到/usr/src/linux-3.2-rc3/ 目錄下

#make menuconfig

我多選擇了一個mount支援ntfs的選項,其它的預設。(注:一定要看後面5,不然你會後悔)

接下來就make && make modules_install && make install &&make clean

make mrproper 是清理過程,我是第一次升級,沒有重複升級過,所以不需要此命令。

有old檔案,是為了截圖,運行了兩次make install

5、排錯

如果以為上面能啟動,那就錯了。出現下圖無法啟動。

http://hi.baidu.com/mhlovejn/blog/item/7a4a55fe65de7488b801a020.html/

幸虧有這位老鳥的深入研究,不然又不知所為何故了。

沒辦法,重新編譯升級,

make mrproper && make menuconfig ,選上下圖的兩個Enable

再 make && make modules && make modules_install && make install && make clean

重啟登入kernel3.2成功,

總結:其實kernel 的升級或者linux的其它軟體安裝、升級等都已經比較簡單了,只是使用者的環境問題、工具問題等因素造成各種問題。比如我在上面提到的用rhel5.3來升級,由於無法上網、沒有rhel5.3的iso,只有rhel5.1的iso,於是開始用rhel5.1的包去rhel5.3安裝gcc、ncureses等,結果部分so檔案因版本問題conflict,如果用--force 或 --nodeps可能會造成的問題更多,所以update時出現了幾種問題。

至於老版本要生成initrd.img的ram disk,其實也很好製作.

將生成的test.img放入/boot下,將initrd.img 換成test.img即可啟動。

轉載於:https://blog.51cto.com/heliy/170877