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