RHEL 6.5 升級內核至linux kernel-4.0.5

由於主機無法訪問外網,因此更新內核也相對比較麻煩,但是很鍛鍊人。
首先,在官網:kernel.org 下載到對應版本號的源代碼。
然後:源碼包 scp傳到服務器上
然後:將文件放在/usr/src 目錄下解壓並準備編譯。

編譯步奏:

make config //當然這一步也可以直接將就的.config文件拷貝過來.
make menuconfig//修改crypto的相關配置
make all 編譯
make modules_install
make install 

完成以上步奏以後,查看boot.conf文件,如包含了新編譯內核,則表示此次編譯成功。

無網絡情況下,make config 生成.config文件一切正常
但是make menuconfig 時,出現錯誤如下:

[root@newdb6 linux-4.0.5]# make menuconfig
  HOSTCC  scripts/kconfig/mconf.o
In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: 致命錯誤:curses.h:沒有那個文件或目錄
 #include CURSES_LOC
                    ^
編譯中斷。
make[1]: *** [scripts/kconfig/mconf.o] 錯誤 1
make: *** [menuconfig] 錯誤 2

其實 make menuconfig 是在執行mconf.o (menuconfig),其實就是縮寫
這裏寫圖片描述
很明顯這個錯誤是由於缺少curses.h 引起的,在網上查找資料,說這就是因爲缺少ncurses的庫文件引起的。

於是用yum install 安裝缺少的文件 yum install ncurses-devel,因爲沒有聯網,所以一定不會成功。但是可以給出所需安裝的具體的文件名。
這裏寫圖片描述
紅框圈起來的就是所需要的包,在下邊的詳細信息列表中可以看到version 版本信息。最下邊的紅框提示下載失敗,但是裏邊卻給出了完整的信息,即:ncurses-devel-5.7.3-3.20090208.e16.x86_64,可以賦值改信息,在http://rpmfind.net/linux/rpm2html/search.php?query=ncurses-devel中查找對應的rpm下載,並安裝。

但是,並沒有找到5.7.3 版本, 僅找到了5.7.4版本,於是試圖安裝改版本,結果報錯了,版本不匹配。
下圖中就是該錯誤的呈現。
這裏寫圖片描述

只好在網上google了一個5.7.3版本,下載後,安裝成功。
從下圖的進度條可以看出安裝成功。
這裏寫圖片描述

下面重新運行,make menuconfig config菜單。

這裏寫圖片描述
看到執行的都正確運行,最後進入mconf,接着出現下邊的圖形界面

這裏寫圖片描述

其中這個圖片也是 make menuconfig 主要需要修改的地方之一:

首先需要修改的是“Enable loadable module support”欄下邊的“Module signature verification (EXPERIMENTAL)”,按n設置爲無效;

光標移動到“Enable loadable module support”欄,enter進入,再把光標移到“Module signature
verification (EXPERIMENTAL)”,按字母n鍵關掉(Disable it),相反y鍵是開。

然後是設置“Cryptographic API”欄,但是從在紅色圈內,沒有找到kernel的信號檢測,因此這項不需要做。
這裏寫圖片描述

以上做完,make menuconfig就做完了,下邊進去編譯階段,編譯時可以開啓多線程的並行編譯 。

祝大家好運,這是我今天的一些心得。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章