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