新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux內(nèi)核升級(jí)的基本步驟

Linux內(nèi)核升級(jí)的基本步驟

作者: 時(shí)間:2012-07-31 來(lái)源:網(wǎng)絡(luò) 收藏

一、本次編譯新所涉及軟件版本

本文引用地址:http://m.butianyuan.cn/article/148689.htm

“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-版本----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,上傳代碼

ftp配置過(guò)程這里不再詳細(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)核

接下來(lái)的內(nèi)核配置過(guò)程比較煩瑣,但是配置的適當(dāng)與否與日后的運(yùn)行直接相關(guān),有必要了解一下一些主要的且經(jīng)常用到的選項(xiàng)的設(shè)置。配置內(nèi)核可以根據(jù)需要與愛(ài)好使用下面命令中的一個(gè):

#make config(基于文本的最為傳統(tǒng)的配置界面,不推薦使用)

#make menuconfig(基于文本選單的配置界面,字符終端下推薦使用)

#make xconfig(基于圖形窗口模式的配置界面,Xwindow下推薦使用)

#make oldconfig(如果只想在原來(lái)內(nèi)核配置的基礎(chǔ)上修改一些小地方,會(huì)省去不少麻煩)

#make defconfig(采用默認(rèn)配置)

對(duì)于初學(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 下 系統(tǒng)的網(wǎng)卡驅(qū)動(dòng)

2、選擇SCSI 驅(qū)動(dòng)

Device Drivers --->

SCSI device support --->

[*] SCSI low-level drivers --->

*> BusLogic SCSI support //必須要選擇BusLogic SCSI 適配器

配置完成后可執(zhí)行“ls -a”指令查看目標(biāo)文件夾中會(huì)存在.config文件。

在配置時(shí),大部分選項(xiàng)可以使用其缺省值,只有小部分需要根據(jù)用戶不同的需要選擇。

四、編譯內(nèi)核

配置工作完成后,可以執(zhí)行編譯命令:

#make dep

#make clean

#make zImage

#make bzImage

#make modules

#make modules inSTall

#make install

#depmod -a

第一個(gè)命令make dep實(shí)際上讀取配置過(guò)程生成的配置文件,來(lái)創(chuàng)建對(duì)應(yīng)于配置的依賴關(guān)系樹(shù),從而決定哪些需要編譯而那些不需要;第二命令make clean完成刪除前面留下的文件,以避免出現(xiàn)一些錯(cuò)誤;第三個(gè)命令make zImage和第四個(gè)命令make bzImage實(shí)現(xiàn)完全編譯內(nèi)核,二者生成的內(nèi)核都是使用gzip壓縮的,只要使用一個(gè)就夠了,它們的區(qū)別在于使用make bzImage可以生成大一點(diǎn)的內(nèi)核,比如在編譯2.4.0版本的內(nèi)核時(shí)如果使用make zImage命令,那么就會(huì)出現(xiàn)system too big的錯(cuò)誤提示。建議大家使用make bzImage命令。make modules和make modules install分別生成相應(yīng)的模塊和把模塊拷貝到需要的目錄中。#make install默認(rèn)會(huì)將內(nèi)核鏡像拷貝到/boot 目錄下。第八個(gè)命令和編譯過(guò)程并沒(méi)有關(guān)系,它是生成模塊間的依賴關(guān)系,這樣你啟動(dòng)新內(nèi)核之后,使用modprobe命令加載模塊時(shí)就能正確地定位模塊。

我們可以依次執(zhí)行#make clean、#make bzImage、#make modules、#make modules install、make install指令。

五、更新

最后我們還需要執(zhí)行“vim /etc/grub.conf”,修改grub.conf文件中的default的值,選擇啟動(dòng)循序。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關(guān)文章:linux教程




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉