Linux內(nèi)核從2.6.18升級(jí)到2.6.28(最新)全過(guò)程
作者:zccst
前面的話
為了支持虛擬化,需要先升級(jí)內(nèi)核至2.6.20以后,在網(wǎng)上找到了一篇從2.4.X升級(jí)到2.6.X的經(jīng)典文章,講解的很詳細(xì),可是,我看完后還是嚇了一跳:太復(fù)雜了。幸好,前人們不斷改進(jìn),才使得從2.6.18升級(jí)到2.6.28(最新)變得如此簡(jiǎn)單??萍嫉牧α烤褪沁@樣,把原本復(fù)雜的事情變得簡(jiǎn)單,向那些默默的技術(shù)改進(jìn)者致敬。
雖然標(biāo)題是升級(jí)至2008年12月份發(fā)布的2.6.28版本,但本文亦適合于升級(jí)至最新版本使用。
內(nèi)核升級(jí)前,我的系統(tǒng)配置情況:CentOS 5.3 內(nèi)核版本:2.6.18-128.e15
內(nèi)核升級(jí)開(kāi)始
一、下載最新內(nèi)核源碼。
從內(nèi)核官網(wǎng)下載至當(dāng)前目錄下
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.gz
注:大小為64M。其實(shí)現(xiàn)在最新版本已經(jīng)達(dá)到2.6.30.5,如需,僅修改最后的版本號(hào)即可。如,
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.5.tar.gz
二、解壓內(nèi)核源碼,移動(dòng)到合適的位置。
tar zxvf linux-2.6.28.tar.gz
mv linux-2.6.28 /usr/src/kernel
注:如果你之前從未編譯安裝過(guò)源碼,則/usr/src下沒(méi)有kernel文件夾,只需新建一個(gè)即可。
三、編譯安裝內(nèi)核源碼(共五步)
1,make mrproper
用來(lái)消除原來(lái)編譯的影響,對(duì)之前沒(méi)編譯過(guò)內(nèi)核的可以跳過(guò)此步,但建議使用一下這條命令 。
2,make menuconfig
如果不定制模塊,可跳過(guò)這一步。
這里有三種方式可以選擇:
(1)make config 單行模式
(2)make menuconfig 圖形模式
(3)make xconfig 基于xwindows模式
在此強(qiáng)烈推薦新手使用make menuconfig方式,
修改后,在圖形界面的最后有這樣兩行:
Load an Alternate Configuration File
Save an Alternate Configuration File
現(xiàn)在選Save...那一行,并按回車。
在彈出的保存修改對(duì)話框會(huì)提示你,為以.config結(jié)尾的文件命名,你可以任意命名為xx.config
然后保存退出
注1:由于虛擬化不是默認(rèn)安裝,所以需要手動(dòng)安裝,到virtualization選項(xiàng)里自己選上才行。
注2:由于我英語(yǔ)水平太爛,沒(méi)讀懂修改保存對(duì)話框處的英文提示,結(jié)果導(dǎo)致修改沒(méi)有保存,白忙了大半天。其實(shí),也有辦法知道修改有沒(méi)有生效,可以用vi,或vim,或gedit編輯剛剛命名后生成的xx.config文件,查找virtualization,如果相關(guān)地方都是y,就說(shuō)明修改已經(jīng)保存。
3,make
編譯內(nèi)核,由于是完全編譯,所以時(shí)間比較長(zhǎng),大概需要30分鐘。
4,make modules_install
此命令只有在你進(jìn)行配置的過(guò)程中,在回答Enable loadable module support (CONFIG_MODULES)時(shí)選了“Yes”才是必要的,其作用是將模塊拷貝到需要的目錄中。
5,make install
以前復(fù)制內(nèi)核和System.map,及修改Grub.conf的步驟,都由make install自動(dòng)實(shí)現(xiàn)。
四、安裝完畢,重啟。
reboot
在重啟過(guò)程中,出現(xiàn)4秒倒計(jì)時(shí)界面時(shí),不要選擇默認(rèn),而是按“enter”鍵,你會(huì)看到,有新舊兩個(gè)內(nèi)核版本可以選擇.
五、檢測(cè)
uname -r
至此,Linux內(nèi)核從2.6.18升級(jí)到2.6.28升級(jí)完畢。
注:內(nèi)核升級(jí)的方式不只一種,對(duì)于RedHat系列,還有rpm方式。如果是Ubuntu,可以用apt-get來(lái)安裝。
聯(lián)系客服