




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗10 Linux內(nèi)核編譯 一、實驗?zāi)康亩嶒灩ぞ吲c設(shè)備三、實驗預(yù)備知識 四、實驗內(nèi)容和步驟五、實驗總結(jié)一、實驗?zāi)康?了解Linux內(nèi)核的版本和組成。2掌握Linux系統(tǒng)內(nèi)核的編譯操作方法。3了解Linux系統(tǒng)內(nèi)核的配置方法。二、實驗工具與設(shè)備1準(zhǔn)備最新的Linux操作系統(tǒng)內(nèi)核,或用于本實驗的裝有Linux操作系統(tǒng)的計算機并能直接連入Internet。2實驗設(shè)備:計算機。三、實驗預(yù)備知識內(nèi)核是一個操作系統(tǒng)的核心,負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。Linux的一個重要特點是其源代碼的公開性,所有的內(nèi)核源程序都可以在 /usr/src/linux
2、下找到,大部分應(yīng)用軟件也遵循GPL而設(shè)計,任何人都可以獲取相應(yīng)的源程序代碼。全世界任何一個軟件工程師都可以將自己認(rèn)為優(yōu)秀的代碼加入到其中,由此帶來的一個明顯好處,是修補漏洞的快速以及對最新軟件技術(shù)的利用。Linux的內(nèi)核是這些特點最直接的代表。Linux作為一個自由軟件,在廣大愛好者的支持下,內(nèi)核版本不斷更新。新的內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新的特性。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個更高效、更穩(wěn)定的內(nèi)核,就需要重新編譯內(nèi)核。通常,更新的內(nèi)核支持更多的硬件,具備更好的進(jìn)程管理能力,運行速度更快、 更穩(wěn)定,并且會修復(fù)老版本中發(fā)現(xiàn)的許多漏洞等。經(jīng)常性地選擇升級更新
3、的系統(tǒng)內(nèi)核,是Linux用戶的必要操作內(nèi)容。為了正確合理地設(shè)置內(nèi)核編譯配置選項,只編譯系統(tǒng)需要功能的代碼,原因如下。(1)自己定制編譯的內(nèi)核運行更快(具有更少的代碼)。(2)系統(tǒng)將擁有更多的內(nèi)存(內(nèi)核部分將不會被交換到虛擬內(nèi)存中)。(3)不需要的功能編譯進(jìn)入內(nèi)核,可能會增加被系統(tǒng)攻擊者利用的漏洞。(4)將某種功能編譯為模塊方式比編譯到內(nèi)核的方式速度要慢一些。內(nèi)核編譯模式可以分為編譯到內(nèi)核和編譯成模塊兩種模式。要增加對某部分功能的支持,例如網(wǎng)絡(luò)等,可以把相應(yīng)部分編譯到內(nèi)核中(build-in),也可以把該部分編譯成模塊(module)動態(tài)調(diào)用。如果編譯到內(nèi)核中,在內(nèi)核啟動時就可以自動支持相應(yīng)部分
4、的功能,其優(yōu)點是方便、速度快,機器啟動即可使用這部分功能;其缺點是使內(nèi)核變得龐大起來,無論是否需要這部分功能,它都會存在。建議將經(jīng)常使用的部分直接編譯到內(nèi)核中,如網(wǎng)卡。如果編譯成模塊,則生成對應(yīng)的.o文件,使用時可以動態(tài)加載,優(yōu)點是不會使內(nèi)核過分龐大,缺點是必須得由用戶自己來調(diào)用這些模塊。四、實驗內(nèi)容和步驟1下載新內(nèi)核在可以下載Linux的最新內(nèi)核代碼。內(nèi)核的源代碼按內(nèi)核版本(v2.4、v2.5等)組織到多個不同的目錄中。在每個目錄中,文件被冠以“l(fā)inux-x.y.z.tar.gz”和“l(fā)inux-x.y.z.tar.bz2”等,這些就是Linux內(nèi)核的源代碼。同時存在一些類似“patch-
5、x.y.z.gz”和“patch-x.y.z.bz2”的文件,這是用來更新前面完整的內(nèi)核源代碼的補丁包。本實驗從下載linux-2.4.20.tar.gz內(nèi)核,并將下載的內(nèi)核linux-2.4.20.tar.gz保存在“/usr/src”目錄下。2內(nèi)核解包編譯內(nèi)核前,應(yīng)對下載的內(nèi)核文件進(jìn)行解包,操作方法如下。(1)用以下命令將當(dāng)前目錄改到/usr/src下:cd /usr/src(2)如果/usr/src目錄下存在一個“l(fā)inux”的目錄,應(yīng)將其改名為“l(fā)inux.old”;如果不存在,則直接執(zhí)行以下命令:tar xzvf /root/linux-2.4.20.tar.gz(3)執(zhí)行該命令后,
6、內(nèi)核源代碼被釋放到一個新的“l(fā)inux-2.4.20”目錄下。注意:目錄名可能因版本的不同而有所區(qū)別。為方便起見,將該目錄名字改為“l(fā)inux”,操作命令如下:mv linux-2.4.20 linux3配置內(nèi)核Linux提供多種配置內(nèi)核的方法,可以根據(jù)需要與愛好使用下面命令中的一個。make config命令:基于文本配置界面的配置命令。make menuconfig命令:基于文本菜單配置界面的配置命令。make xconfig命令:基于圖形窗口模式配置界面的配置命令。本實驗以基于圖形窗口模式配置界面的配置命令為例配置內(nèi)核,具體操作步驟如下。(1)用以下命令將當(dāng)前目錄改到解包文件目錄“/us
7、r/src/linux”下:cd /usr/src/linux(2)用以下配置命令打開配置對話框:make xconfig執(zhí)行命令后,彈出配置對話框,如圖10-1所示。由圖10-1可見,配置內(nèi)核的選項很多。選擇每一項配置時,可以有三個選擇按鈕,如圖10-2所示。圖10-1 Linux內(nèi)核配置對話框圖10-2 配置內(nèi)核的選擇按鈕每個按鈕的意義如下。y:將該功能編譯進(jìn)內(nèi)核。n:不將該功能編譯進(jìn)內(nèi)核。m:將該功能編譯成可以在需要時動態(tài)插入到內(nèi)核中的模塊。單擊“Main Menu”按鈕,返回主配置窗口;單擊“Next”按鈕,配置下一個配置項;單擊“Prev”按鈕,配置上一個配置項。在編譯內(nèi)核的過程中,
8、大部分選項可以使用缺省值,只有部分要根據(jù)用戶的需要進(jìn)行更改。修改的原則是將與內(nèi)核其他部分關(guān)系較遠(yuǎn)且不經(jīng)常使用的部分功能代碼編譯成為可加載模塊,有利于減小內(nèi)核的長度,減小內(nèi)核消耗內(nèi)存,簡化該功能相應(yīng)的環(huán)境改變時對內(nèi)核的影響;不需要的功能不選;與內(nèi)核關(guān)系緊密而且經(jīng)常使用的部分功能代碼則直接編譯到內(nèi)核中。以下是幾個主要的配置項(其他配置內(nèi)容參考附錄3)。 Loadable module support:設(shè)置對可加載模塊的支持,有以下三個選項。 Enable loadable module support:除非準(zhǔn)備把所有需要的內(nèi)容都編譯到內(nèi)核里面,否則該項應(yīng)該是必選的(y)。 Set version
9、information on all module symbols:有關(guān)版本信息加載項,可以不選它(n)。 Kernel module loader:讓內(nèi)核在啟動時有自己裝入必需模塊的能力,建議選上(y)。 Processor type and features:設(shè)置CPU的類型,有關(guān)的幾個選項如下。 Processor family:根據(jù)所使用的計算機選擇CPU類型。 High Memory Support:設(shè)置大容量內(nèi)存的支持,可以支持到64GB,一般可以不選。 Math emulation:協(xié)處理器仿真,如果CPU中沒有數(shù)字協(xié)處理器則應(yīng)選中,不過從486以后一般的CPU都有數(shù)字協(xié)處理器了
10、,所以一般不選(n)。 MTTR support:MTTR支持,可不選(n)。 Symmetric multi-processing support:對稱多處理支持,如果計算機上有多于一個CPU就一定要選,若是單CPU,則不選(n)。 General setup:對普通的一些屬性進(jìn)行設(shè)置。這部分內(nèi)容很多,一般使用缺省設(shè)置,下面介紹經(jīng)常使用的一些選項。 Networking support:網(wǎng)絡(luò)支持,必選,沒有網(wǎng)卡也建議選上(y)。 PCI support:PCI卡的支持,如果使用了PCI接口卡,則必選(y)。 PCI access mode:PCI卡的存取模式,可供選擇的有BIOS、Direc
11、t和Any,一般可選Any。 Support for hot-pluggabel devices:熱插拔設(shè)備支持,支持的不是太好,可不選。 PCMCIA/CardBus support:PCMCIA/CardBus支持,有PCMCIA就必選了(y)。 Parallel port support:并口的支持,一般應(yīng)選上(y)。 Plug and Play configuration:即插即用配置。Linux有一定的即插即用功能,可選上。 Block devices:塊設(shè)備支持,其中, Normal PC floppy disk support:普通PC軟盤支持,該項應(yīng)選(y); Network
12、block device support:網(wǎng)絡(luò)塊設(shè)備支持,若希望訪問網(wǎng)上鄰居的內(nèi)容,則應(yīng)選取。 Networking options:要選取TCP/IP networking選項。 Network device support:網(wǎng)絡(luò)設(shè)備支持,本項的選項很多,要注意選取正在使用的網(wǎng)絡(luò)設(shè)備,例如正在使用Realtek 8139的網(wǎng)卡,則“Ethernet(10 or 100Mbit)”就必須選上,還應(yīng)選中對應(yīng)的網(wǎng)卡型號“RealTeck RTL-8139 PCI Fast Ethernet Adapter support”,若找不到所用網(wǎng)卡的型號,則應(yīng)尋求廠商的支持,或到購買的網(wǎng)卡驅(qū)動盤中尋找。
13、Mice:鼠標(biāo)設(shè)置??梢灾С挚偩€、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad等類型的鼠標(biāo),應(yīng)根據(jù)所用的鼠標(biāo)類型進(jìn)行選擇。 :文件系統(tǒng)類型。內(nèi)容很多,主要有以下幾項。 DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。 NTFS support:NTFS是Windows NT/2000使用的文件格式。 /proc support:/proc文件系統(tǒng)是Linux提供給用戶和系統(tǒng)進(jìn)行交互的通道,建議選上,否則某些功能沒法正確執(zhí)行。 Sound:聲卡驅(qū)動,從列表中找到對應(yīng)的聲卡型號。 USB su
14、pport:USB接口的支持,根據(jù)需要選擇。(3)配置內(nèi)核后,單擊“Save and Exit”按鈕存盤退出配置窗口。4生成依賴(dependency)信息,清除舊的編譯結(jié)果配置內(nèi)核后,返回命令窗口。為確保關(guān)鍵文件,在正確的位置輸入以下命令:make dep 為確保所有有關(guān)文件都處于最新版本狀態(tài),需要輸入命令:make clean 檢查是否生成依賴(dependency)信息并清除舊的編譯結(jié)果。5編譯二進(jìn)制內(nèi)核映像文件在“/usr/src/linux”目錄下建立二進(jìn)制的內(nèi)核映像文件,命令如下:make bzImage (輸入命令時請注意區(qū)分大小寫)編譯過程持續(xù)幾分鐘。編譯結(jié)束后,在/usr/s
15、rc/linux/arch/i386/boot目錄下可找到名為“bzImage”的映像文件,即新內(nèi)核的映像文件。6編譯模塊編譯二進(jìn)制內(nèi)核映像文件后,需要進(jìn)行模塊的編譯,命令如下:make modulesmake modules_install模塊被編譯且安裝到 /usr/lib/ 目錄下。至此,內(nèi)核被編譯完成,內(nèi)核模塊也編譯完成并被安裝。7配置啟動管理器為了操作方便,先將編譯好的新內(nèi)核的映像文件(bzImage)復(fù)制到系統(tǒng)目錄/boot下。命令如下:cp /usr/src/linux/arch/i386/boot/bzImage /boot如果系統(tǒng)是用LILO啟動,則修改/etc/lilo.c
16、onf。lilo.conf文件內(nèi)容類似以下文本文件:prompttimeout=50default=linuxboot=/dev/hadmap=/boot/boot.bmessage=/boot/messagelinearimage=/boot/vmlinuz-2.4.7-10label=linuxread-onlyroot=/dev/hda2對以上文本修改后的內(nèi)容如下:prompttimeout=50default=linuxboot=/dev/hadmap=/boot/boot.bmessage=/boot/messagelinearimage=/boot/bzImagelabel=new
17、linuximage=/boot/vmlinuz-2.4.7-10label=linuxread-onlyroot=/dev/hda2其中, image=/boot/bzImage:指定內(nèi)核的映像文件,即告訴LILO應(yīng)該到何處找到新內(nèi)核。 label=newlinux:設(shè)置啟動菜單選項的標(biāo)簽,即讓啟動的時候多一項“newlinux”的選擇菜單。修改完成后,保存并退出。運行命令:lilo更新系統(tǒng)引導(dǎo)映象,使lilo.conf的修改起作用。然后重新啟動計算機,整個內(nèi)核升級完成。如果用Grub啟動管理器,則添加以下幾項:title newlinux 設(shè)置啟動菜單選項的標(biāo)簽,即讓啟動的時候多一項“newlinux”的選擇菜單root (hd0,0)kernel /boot/bzImage ro root=/dev/hda2注意:第3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋中介公司雇傭合同
- 個人授信額度借款合同
- 個人房屋出租協(xié)議書
- 鋁合金方管施工方案
- 懸挑翼緣板施工方案
- 廠房照明施工方案
- 瓷磚干掛施工方案
- 海西輕鋼別墅施工方案
- 沈陽地源熱泵井施工方案
- 河南省平頂山市汝州市2024-2025學(xué)年八年級上學(xué)期期末生物試題(原卷版+解析版)
- 2025年常州機電職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫參考答案
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)技能測試題庫及參考答案1套
- 課件-DeepSeek從入門到精通
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 三八婦女節(jié)主題班會PPT課件
- 員工考勤與請休假管理制度
- 50MW茶光互補光伏發(fā)電項目建議書寫作模板-定制
- LS框架斷路器技術(shù)資料_圖文
- 品質(zhì)異常(8D)改善報告
- 彎頭重量和表面積明細(xì)表
評論
0/150
提交評論