Linux內(nèi)核升級的基本步驟
一、本次內(nèi)核編譯新內(nèi)核所涉及軟件版本
“GCC –version”可查尋GCC版本------4.3.2 20081105(Red Hat 4.3.2-7)
“make –v”可查詢 Gnu make版本-----3.81
“ld –V(v)可查詢GNU ld版本-----2.18.50.0.9-7。f c10 20080822
“fdformat --versiON”命令檢查 util-Linux版本----2.14.1
“insmod –V”檢查module-init-tools 版本-----3.5
“tune2fs –version”命令可檢查 tune2fs 版本-----1.41.3
“pppd --version”命令可檢查pppd version 2.4.4
“isdnctrl 2>&1|grep version” 命令可檢查isdnctrl version 3.9
二、配置ftp,上傳內(nèi)核代碼
ftp配置過程這里不再詳細(xì)介紹。本次要編譯的內(nèi)核代碼版本為2.6.25.8,執(zhí)行mget指令將內(nèi)核上傳到目標(biāo)文件,然后執(zhí)行“tar xvjf linux-2.6.25.8_src.tar.bz2解壓內(nèi)核代碼包。
三、配置內(nèi)核
接下來的內(nèi)核配置過程比較煩瑣,但是配置的適當(dāng)與否與日后Linux的運行直接相關(guān),有必要了解一下一些主要的且經(jīng)常用到的選項的設(shè)置。配置內(nèi)核可以根據(jù)需要與愛好使用下面命令中的一個:
#make config(基于文本的最為傳統(tǒng)的配置界面,不推薦使用)
#make menuconfig(基于文本選單的配置界面,字符終端下推薦使用)
#make xconfig(基于圖形窗口模式的配置界面,Xwindow下推薦使用)
#make oldconfig(如果只想在原來內(nèi)核配置的基礎(chǔ)上修改一些小地方,會省去不少麻煩)
#make defconfig(采用默認(rèn)配置)
對于初學(xué)者而言,我們可以先執(zhí)行“make defconfig”,這樣可節(jié)省很多工作。然后在執(zhí)行“make menuconfig”進(jìn)行下面的配置:
1、選擇網(wǎng)卡配置:
Device Drivers --->
[*] Network device support --->
[*] Ethernet (10 or 100Mbit) --->
<*> AMD PCnet32 PCI support //VMware 下Linux 系統(tǒng)的網(wǎng)卡驅(qū)動
2、選擇SCSI 驅(qū)動
Device Drivers --->
SCSI device support --->
[*] SCSI low-level drivers --->
<*> BusLogic SCSI support //必須要選擇BusLogic SCSI 適配器
配置完成后可執(zhí)行“ls -a”指令查看目標(biāo)文件夾中會存在.config文件。
在配置時,大部分選項可以使用其缺省值,只有小部分需要根據(jù)用戶不同的需要選擇。
四、編譯內(nèi)核
配置工作完成后,可以執(zhí)行編譯命令:
#make dep
#make clean
#make zImage
#make bzImage
#make modules
#make modules inSTall
#make install
#depmod -a
第一個命令make dep實際上讀取配置過程生成的配置文件,來創(chuàng)建對應(yīng)于配置的依賴關(guān)系樹,從而決定哪些需要編譯而那些不需要;第二命令make clean完成刪除前面步驟留下的文件,以避免出現(xiàn)一些錯誤;第三個命令make zImage和第四個命令make bzImage實現(xiàn)完全編譯內(nèi)核,二者生成的內(nèi)核都是使用gzip壓縮的,只要使用一個就夠了,它們的區(qū)別在于使用make bzImage可以生成大一點的內(nèi)核,比如在編譯2.4.0版本的內(nèi)核時如果使用make zImage命令,那么就會出現(xiàn)system too big的錯誤提示。建議大家使用make bzImage命令。make modules和make modules install分別生成相應(yīng)的模塊和把模塊拷貝到需要的目錄中。#make install默認(rèn)會將內(nèi)核鏡像拷貝到/boot 目錄下。第八個命令和編譯過程并沒有關(guān)系,它是生成模塊間的依賴關(guān)系,這樣你啟動新內(nèi)核之后,使用modprobe命令加載模塊時就能正確地定位模塊。
我們可以依次執(zhí)行#make clean、#make bzImage、#make modules、#make modules install、make install指令。
五、更新
最后我們還需要執(zhí)行“vim /etc/grub.conf”,修改grub.conf文件中的default的值,選擇啟動循序。