天天看點

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等。

<a href="http://blog.51cto.com/attachment/201111/152429306.jpg" target="_blank"></a>

2、 update前檢視版本

<a href="http://blog.51cto.com/attachment/201111/153250693.jpg" target="_blank"></a>

3、 安裝前準備

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

<a href="http://blog.51cto.com/attachment/201111/153433168.jpg" target="_blank"></a>

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

<a href="http://blog.51cto.com/attachment/201111/153617968.jpg" target="_blank"></a>

4、install

<a href="http://blog.51cto.com/attachment/201111/153831124.jpg" target="_blank"></a>

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

#make menuconfig

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

<a href="http://blog.51cto.com/attachment/201111/154213235.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201111/154239673.jpg" target="_blank"></a>

<a href="http://blog.51cto.com/attachment/201111/154300926.jpg" target="_blank"></a>

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

make mrproper 是清理過程,我是第一次更新,沒有重複更新過,是以不需要此指令。

<a href="http://blog.51cto.com/attachment/201111/154628743.jpg" target="_blank"></a>

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

<a href="http://blog.51cto.com/attachment/201111/160515234.jpg" target="_blank"></a>

 5、排錯

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

<a target="_blank" href="http://blog.51cto.com/attachment/201111/173612784.jpg"></a>

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

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

沒辦法,重新編譯更新,

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

<a target="_blank" href="http://blog.51cto.com/attachment/201111/173905121.jpg"></a>

再 make &amp;&amp; make modules &amp;&amp; make modules_install &amp;&amp; make install &amp;&amp; make clean

重新開機登入kernel3.2成功,

<a target="_blank" href="http://blog.51cto.com/attachment/201111/174310486.jpg"></a>

總結:其實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,其實也很好制作.

<a href="http://blog.51cto.com/attachment/201112/102241487.jpg" target="_blank"></a>

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

      本文轉自fuhaixiong 51CTO部落格,原文連結:http://blog.51cto.com/heliy/170877,如需轉載請自行聯系原作者