操作系統(tǒng)課程設(shè)計報告Linux內(nèi)核裁剪與編譯_第1頁
操作系統(tǒng)課程設(shè)計報告Linux內(nèi)核裁剪與編譯_第2頁
操作系統(tǒng)課程設(shè)計報告Linux內(nèi)核裁剪與編譯_第3頁
操作系統(tǒng)課程設(shè)計報告Linux內(nèi)核裁剪與編譯_第4頁
操作系統(tǒng)課程設(shè)計報告Linux內(nèi)核裁剪與編譯_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、滁滁州州學(xué)學(xué)院院課課程程設(shè)設(shè)計計報報告告課程名稱:課程名稱: 操作系統(tǒng) 設(shè)計題目設(shè)計題目: linux 內(nèi)核編譯與裁剪 系系 別:別: 計算機科學(xué)與技術(shù)系 專專 業(yè):業(yè): 計算機科學(xué)與技術(shù)專業(yè) 組組 別:別: 起止日期起止日期: 2011 年 5 月 20 日 2011 年 6 月 22 日 指導(dǎo)教師指導(dǎo)教師: 計算機科學(xué)與技術(shù)系二計算機科學(xué)與技術(shù)系二九年制九年制課程設(shè)計任務(wù)書課程設(shè)計題目linux 內(nèi)核編譯和裁剪組長學(xué)號班級09 計科系別計算機科學(xué)與技術(shù)專業(yè)計算機科學(xué)與技術(shù)組員項鵬程,徐鑫,周小航,鐘鑫鑫指導(dǎo)教師馬麗生課程設(shè)計目的通過該實驗了解和掌握 linux 內(nèi)核進行裁剪和編譯以及升級的

2、主要操作方法和步驟。課程設(shè)計所需環(huán)境軟件:操作系統(tǒng) windows xp、linux硬件:最低 cpu 速度:233mhz,推薦 cpu 速度:550mhz最小內(nèi)存要求: 128m,推薦最小內(nèi)存:256m課程設(shè)計任務(wù)要求實現(xiàn)將 linux 內(nèi)核進行裁剪和編譯,并 linux2.4 內(nèi)核升級到2.6 內(nèi)核。課程設(shè)計工作進度計劃序號起止日期工 作 內(nèi) 容分工情況2011-5-202011-6-12收集實現(xiàn)所需的資料,分析討論所要進行的實驗主要工作由徐鑫,周小航同學(xué)完成,全體參與討論2011-6-132011-6-17該階段主要做 linux 內(nèi)核的一般編譯和裁剪主要由小組全體同學(xué)協(xié)助項鵬程完成20

3、11-6-182011-6-20實現(xiàn) linux2.4 內(nèi)核到2.6 內(nèi)核的升級主要由小組全體同學(xué)協(xié)助楊超完成2011-6-212011-6-22實驗材料整理,課程設(shè)計報告的完成主要由小組全體同學(xué)協(xié)助鐘鑫鑫完成指導(dǎo)教師簽字: 年 月 日教研室審核意見:教研室主任簽字: 年 月 日目目 錄錄引引言言.4需需求求分分析析.42.1 前期準(zhǔn)備.42.2 開發(fā)工具.43 3. .詳詳細(xì)細(xì)設(shè)設(shè)計計.53.1 linux內(nèi)核的裁剪.53.1.1 內(nèi)核支持(編譯)模式.53.1.2. 裁剪系統(tǒng)內(nèi)核應(yīng)遵循的步驟.53.2 配置系統(tǒng)內(nèi)核.63.2.1 配置內(nèi)容.83.2.2 配制方法.93.3 編譯系統(tǒng)內(nèi)核.1

4、53.4 啟用新系統(tǒng)內(nèi)核.163.4.1 備份正在使用的系統(tǒng)內(nèi)核.163.4.2 多配置啟動的配置文件修改.163.5 linux內(nèi)核升級.173.5.1 查看版本.173.5.2 配置工作.183.5.3 編譯工作.333.5.4 啟動新內(nèi)核.354 4. . 課課程程設(shè)設(shè)計計總總結(jié)結(jié)與與體體會會.374.1 總結(jié).374.2 體會.375 5. .致致謝謝.37參參考考文文獻獻.37引言引言linux 是一類 unix 計算機操作系統(tǒng)的統(tǒng)稱,也是自由軟件和開放源代碼發(fā)展中最著名的例子。linux 作為一個免費、自由軟件,內(nèi)核版本不斷升級。新的內(nèi)核修訂了舊內(nèi)核的bug,并增加了許多新的特性。

5、同時也使得 linux 系統(tǒng)更加穩(wěn)定、更加安全,進一步滿足用戶的功能需求。linux 內(nèi)核裁剪是根據(jù)用戶的需要進行刪除和保留相關(guān)的模塊。linux 內(nèi)核裁剪完成后在進行編譯,使之后的 linux 系統(tǒng)為用戶所需要的操作系統(tǒng)。linux 內(nèi)核升級是為了彌補較低版本的漏洞,使得 linux 系統(tǒng)安全系數(shù)更高;另外使 linux 系統(tǒng)的性能更穩(wěn)定;最后是增加新功能,滿足用戶的功能需求。本次課程設(shè)計是通過相關(guān)操作來實現(xiàn)將 linux 內(nèi)核進行裁剪和編譯,并 linux2.4 內(nèi)核升級到 2.6 內(nèi)核。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個更高效,更穩(wěn)定的內(nèi)核,就需要根據(jù)自己的需要進

6、行重新裁剪、編譯內(nèi)核以及內(nèi)核升級。需求分析需求分析2.12.1 前期準(zhǔn)備前期準(zhǔn)備linux2.6 內(nèi)核源碼:linux-2.6.18.tar.bz2內(nèi)核升級工具module-init-tools-3.2.tar.bz2mkinitrd-4.1.18-2.i386.rpmlvm2-2.00.25-1.01.i386.rpmdevice-mapper-1.00.19-2.i386.rpm 2.22.2 開發(fā)工具開發(fā)工具linux 開發(fā)平臺3.3.詳細(xì)設(shè)計詳細(xì)設(shè)計3.13.1 linuxlinux 內(nèi)核的裁剪內(nèi)核的裁剪 .1 內(nèi)核支持(編譯)模式內(nèi)核支持(編譯)模式 linux 對于

7、計算機硬件、網(wǎng)絡(luò)和文件系統(tǒng)等部件的驅(qū)動程序支持既可以放在系統(tǒng)內(nèi)核中,也可以作為一個可加載的模塊(modules)使用。當(dāng)驅(qū)動程序放在系統(tǒng)內(nèi)核中時,linux 假定該硬件是存在于系統(tǒng)中的;而作為可加載模塊使用時,只有在知道該硬件存在于系統(tǒng)時才會作為系統(tǒng)內(nèi)核的一部分,當(dāng) linux 檢測到硬件時,該模塊才被加入到系統(tǒng)內(nèi)核中。如果把驅(qū)動程序編譯到內(nèi)核中,在內(nèi)核啟動時就可以自動支持相應(yīng)部分的功能,這樣做的優(yōu)點是方便、速度快,機器一旦啟動,你就可以使用這部分功能了;缺點是會使內(nèi)核變得龐大,無論是否需要這部分功能,它都會存在;這可能會增加被系統(tǒng)攻擊者利用的漏洞。一般把經(jīng)常使用的部分直接編譯到內(nèi)核中,比如網(wǎng)

8、卡等。如果編譯成模塊,就會生成對應(yīng)的.o 模塊文件,系統(tǒng)啟動時它并不在內(nèi)存中,它是在使用的時候由用戶執(zhí)行 insmod 命令來動態(tài)加載,這樣做的優(yōu)點是不會使內(nèi)核過分龐大,缺點是你得自己來調(diào)用這些模塊。.1.2. 裁剪系統(tǒng)內(nèi)核應(yīng)遵循的步驟裁剪系統(tǒng)內(nèi)核應(yīng)遵循的步驟linux 系統(tǒng)內(nèi)核的裁減涉及到模塊間的依賴關(guān)系、內(nèi)核的配置和編譯等多個步驟,任何一個步驟的失誤都有可能導(dǎo)致裁減、編譯失敗。其基本步驟如下:檢查編譯器的版本刪除過時的目標(biāo)文件重新設(shè)置系統(tǒng)內(nèi)核重新編譯系統(tǒng)內(nèi)核備份正在使用的系統(tǒng)內(nèi)核試用新的系統(tǒng)內(nèi)核 檢查編譯器的版本檢查編譯器的版本用低版本的編譯器去編譯高版本的內(nèi)核有可能不能編譯

9、或使內(nèi)核不能使用。要查看編譯器版本,可以執(zhí)行命令: #gcc v進入系統(tǒng)內(nèi)核源代碼目錄。一般系統(tǒng)內(nèi)核的源代碼放在 /usr/src/ 目錄下。用 ls l 命令查看可能顯示如下:#ls l /usr/srctotal 3lrwxrwxrwx1 root root 12 may4 14:36 linux2.4-linux-2.4.20-8drwxr-xr-x 15 root root 1024 may 14 11:37 linux-2.4.20-8drwxr-xr-x 3 root root 1024 may 4 14:38 sendmail 其中,linux2.4 是一個鏈接文件,它的鏈接目標(biāo)

10、是指向 linux-2.4.20-8 目錄,因此、cd linux-2.4 就是進入 linux-2.4.20-8 目錄。 刪除過時的目標(biāo)文件刪除過時的目標(biāo)文件 進入 /usr/src/linux-2.4.20-8 目錄,運行 make mrproper 命令以清除過時、舊的目標(biāo)文件。這是因為經(jīng)過多次編譯后系統(tǒng)會留下部分目標(biāo)文件,如果沒有清除干凈可能造成本次編譯出錯。如果沒有編譯過或者是系統(tǒng)升級的新解壓縮目錄,則這一步驟可以省略主要是本課題所需要的硬件設(shè)計與軟件設(shè)計,包含建立設(shè)計所需的數(shù)學(xué)模型并列出必要的計算公式、計算過程及說明,硬件電路的設(shè)計與實現(xiàn),寫出設(shè)計計算結(jié)果;繪出計算機程序框圖,寫出

11、自編的程序。3.23.2 配置系統(tǒng)內(nèi)核配置系統(tǒng)內(nèi)核無論是內(nèi)核裁減還是內(nèi)核升級都要重新配置系統(tǒng)內(nèi)核。共有三種方式來運行配置內(nèi)核的命令:設(shè)置屏幕的類型 命令 文本 make config 窗口菜單(ncurses) make menuconfig x 圖形 make xconfig 第 1 種 make config 是命令行方式,使用與修改都較為不便,一般不推薦使用。第 2 種 make menuconfig 是窗口菜單方式,采用窗口菜單進行人機交互,并可隨時獲得幫助;它占用的內(nèi)存較少,適合在字符終端下使用,如圖 3-1 所示。圖 3-1 menuconfig 主屏幕第 3 種 make xco

12、nfig 是圖形用戶界面,采用圖形窗口按鈕進行人機交互,整個設(shè)置界面簡潔明了、使用非常方便且?guī)椭募踩菀撰@取,適合在 x windows 下使用,如圖 3-2所示。圖 3-2 xconfig 主屏幕一般在 /usr/src/linux-2.4.20-8/ 目錄下運行設(shè)置命令。在窗口菜單(ncurses)下,用戶可以利用光標(biāo)鍵移動到選項、再用空格鍵或鼠標(biāo)(選中顯示*號)來進行設(shè)置并可以任意回退做修改。在 x 圖形下用戶可以通過鼠標(biāo)單擊按鈕來進行配置并可以任意回退做修改。在文本類型下則不能,因為它只在整個設(shè)置過程中一直向你提問。.1 配置內(nèi)容配置內(nèi)容配置系統(tǒng)內(nèi)核的目的是建立一個適

13、合大小、滿足需求的系統(tǒng)內(nèi)核;因此,用戶必須根據(jù)自己所設(shè)計系統(tǒng)的需要對 linux 系統(tǒng)支持的硬件和軟件進行適當(dāng)裁減,即從配置內(nèi)容中選擇相應(yīng)的硬件類型和合適的設(shè)備驅(qū)動程序。不同的內(nèi)核版本顯示的配置內(nèi)容有所不同,這里以 linux 內(nèi)核 2-4-20 版本為例說明。編號類別含義1code maturity level options代碼成熟級別2loadable module support可裝載模塊支持3processor type and features處理器類型與特征4general setup一般設(shè)置5memory technology devicemtd 設(shè)備支持6parallel p

14、ort support并行口支持7plug and play configuration即插即用支持8block devices塊設(shè)備支持9multi-device support(raid and lvm)多設(shè)備支持10cryptography support密碼系統(tǒng)支持11networking options網(wǎng)絡(luò)選項12telephony support電話支持13ata/ide/mfm/rll support多種接口存儲設(shè)備支持14scsi supportscsi 設(shè)備的支持15fusion mpt device supportfusion mpt 設(shè)備支持16ieee 1394(fir

15、ewire)supportieee 1394 防火墻設(shè)備支持17i2o device supporti2o 設(shè)備支持18network device support網(wǎng)絡(luò)設(shè)備支持19amateur radio support業(yè)余無線電支持20irda(infrared)support紅外線支持21isdn subsystemisdn 子系統(tǒng)22old cd-rom drivers(not scsi、not ide)非 scsi/ide 接口的 cd-rom 設(shè)備23input core support輸入核心支持24character devices字符設(shè)備25multimedia device

16、s多媒體設(shè)備26crypto hardware supportcrypto 硬件支持27file systems文件系統(tǒng)28console drivers控制臺驅(qū)動29sound聲卡驅(qū)動30usb supportusb 支持31additional device driver support附加設(shè)備驅(qū)動支持32bluetooth support藍(lán)牙支持33profiling supportprofiling 支持34kernel hacking內(nèi)核分析35library routines庫例程.2 配制方法配制方法以運行 xconfig 設(shè)置程序為例說明配置方法。在 xconf

17、ig 主屏幕上有許多設(shè)置選項,但在內(nèi)核裁減中許多選項可以采用默認(rèn)的設(shè)置。下面按配置內(nèi)容類別說明主要選項的配置方法,截取的配置圖供大家參考。1.代碼成熟級別選項(代碼成熟級別選項(code maturity level options ) 這里只有一項:prompt for development and/or incomplete code/drivers,如果你要試驗使用還有待完善的代碼,比如 framebuffer、khttpd、ipv6 等,就必須把該項選擇為 y;否則可以把它選擇為 n。這是內(nèi)核的一個內(nèi)置特性,不能選擇為模塊。如圖 3-3 所示。圖 3-3 代碼成熟級別選項2.可裝載模

18、塊支持(可裝載模塊支持(loadable module support )這里有 3 項,如圖3-4所示。圖 3-4 可裝載的模塊支持enable loadable module support:除非你準(zhǔn)備把所有需要的內(nèi)容都編譯到內(nèi)核里面,否則該項應(yīng)該是必選的。set version information on all module symbols:可選可不選。kernel module loader:讓內(nèi)核在啟動時有自己裝入必需模塊的能力,該選項必須在enable loadable module support 選項激活(即為“y”)情況下才能選擇;建議選上。3. 處理器類型與特征(處理器

19、類型與特征(processor type and features )這里的選項一般不需要設(shè)置,使用默認(rèn)的設(shè)置即可。例如:processor family:系統(tǒng)安裝時會根據(jù)你的計算機情況選擇 cpu 類型。high memory support:大容量內(nèi)存的支持??梢灾С值?4g、64g,默認(rèn)為“off”。math emulation:協(xié)處理器仿真,現(xiàn)在的協(xié)處理器已集成在 cpu 內(nèi);默認(rèn)為“n”。mttr support:mttr(memory type range register)支持??刹贿x,默認(rèn)為“n”。symmetric multi-processing support:對稱多處理

20、器支持。單 cpu 系統(tǒng)一般不用選。4.一般設(shè)置(一般設(shè)置(general setup )這里是安裝 red hat linux9.0 時對系統(tǒng)最基本的硬件設(shè)置。這部分內(nèi)容非常多,一般在安裝中 linux 會根據(jù)你計算機系統(tǒng)的硬件自動檢測并設(shè)置,使用缺省設(shè)置就可以。常用的選項簡要介紹如下:networking support:網(wǎng)絡(luò)支持。如果有網(wǎng)卡默認(rèn)為“y”。pci support:pci 支持。如果使用了 pci 的卡,默認(rèn)為“y”。pci access mode:pci 存取模式??晒┻x擇的有 bios、direct 和 any,默認(rèn)為any。support for hot-pluggab

21、el devices:熱插拔設(shè)備支持。如果有此類設(shè)備默認(rèn)為“y”。pcmcia/cardbus support:pcmcia/cardbus 支持。用系統(tǒng)測試的默認(rèn)選擇。 system v ipcbsd process accountingsysctl support 以上三項是有關(guān)進程處理 ipc 調(diào)用的,主要就是 system v 和 bsd 兩種風(fēng)格。如果你不是使用 bsd,就不要改變默認(rèn)選擇。power management support:電源管理支持,用系統(tǒng)默認(rèn)選擇。advanced power management bios support:高級電源管理 bios 支持,用系統(tǒng)默

22、認(rèn)選擇。5. mtd 設(shè)備支持(設(shè)備支持(memory technology device)mtd 設(shè)備是像閃存芯片、小型閃存卡、記憶棒等之類的設(shè)備,它們在嵌入式設(shè)備中的使用正在不斷增長。pc 上一般默認(rèn)為“n”。 6. 并行口支持(并行口支持(parallel port support )如果不打算使用并行口,就選“n”。 7. 即插即用支持(即插即用支持(plug and play configuration )目前 linux 對即插即用設(shè)備的支持不如 windows 好,如果系統(tǒng)中有 pnp 設(shè)備,默認(rèn)的選項為“y”。8. 塊設(shè)備支持(塊設(shè)備支持(block devices )一般使用

23、缺省設(shè)置就可以,主要選項簡要說明如下:normal pc floppy disk support:普通 pc 軟盤支持。若有軟驅(qū)默認(rèn)為“y”。xt hard disk support:早期的硬盤支持,一般默認(rèn)為“n”。compaq smart2 support:磁盤陣列控制卡,沒有該設(shè)備為“n”。mulex dac960/dac1100 pci raid controller support:raid 鏡像, 沒有該設(shè)備為“n”。 loopback device support:把文件當(dāng)成區(qū)塊設(shè)備使用,一般默認(rèn)為“n”network block device support:網(wǎng)絡(luò)塊設(shè)備支持。如

24、果想訪問網(wǎng)上鄰居的東西,選“y”。 ram disk support:ram 盤支持, 一般默認(rèn)為“n”。9多設(shè)備支持(多設(shè)備支持(multi-device support(raid and lvm) )multiple devices driver support:多設(shè)備驅(qū)動支持, 一般默認(rèn)為“n”;該項激活(“y”)時以下兩項才可以選擇。 raid support:raid 支持,沒有該設(shè)備為“n”。logical volume manager(lvm)support:邏輯卷管理支持,一般默認(rèn)為“n”。10密碼系統(tǒng)支持密碼系統(tǒng)支持(cryptography support)在個人計算機(p

25、c)系統(tǒng)上一般不用,系統(tǒng)默認(rèn)為“n”。11網(wǎng)絡(luò)選項(網(wǎng)絡(luò)選項(networking options )這里配置的主要是網(wǎng)絡(luò)協(xié)議,其選項很多。如果要定義tcp/ip、atm、ipx、decnet、appletalk等協(xié)議的支持,可以把它們編譯進內(nèi)核中或以模塊加載。在這里還可以配置路由、防火墻、ip 隱藏、ip 廣播、ip 轉(zhuǎn)發(fā)等等。不過有些配置仍然處于實驗階段,例如:ipv6、httpd、qos and/or fair queueing(服務(wù)質(zhì)量公平調(diào)度)等。 12電話支持(電話支持(telephony support )linux 下可以支持電話卡,這樣你就可以在 ip 上使用普通的電話提供語

26、音服務(wù)了。默認(rèn)選項為“n”。13多種接口存儲設(shè)備支持(多種接口存儲設(shè)備支持(ata/ide/mfm/rll support )有關(guān)各種接口的硬盤/光驅(qū)/磁帶/軟盤支持,一般使用默認(rèn)的選項即可。 14scsi 設(shè)備的支持(設(shè)備的支持(scsi support )如果有 scsi 設(shè)備,系統(tǒng)會默認(rèn)選擇若干選項,其他的選項可以根據(jù)情況選擇。如果在 pc 上安裝了虛擬機(如 vm) ,則會把 ide 硬盤虛擬成 scsi 硬盤,部分選項會自動選中。 15fusion mpt 設(shè)備支持(設(shè)備支持(fusion mpt device support )需要 fusion mpt 兼容 pci 適配器,一般

27、默認(rèn)為“n”。16ieee 1394 防火墻設(shè)備支持(防火墻設(shè)備支持(ieee 1394(firewire)support)該項仍在實驗中,默認(rèn)為“n”。 17i2o 設(shè)備支持(設(shè)備支持(i2o device support )需要 i2o 接口適配器支持,在智能 input/output(i2o)體系接口中使用。默認(rèn)為“n”。 18網(wǎng)絡(luò)設(shè)備支持(網(wǎng)絡(luò)設(shè)備支持(network device support )在網(wǎng)絡(luò)選項中選好協(xié)議后,在這項中定義使用這些網(wǎng)絡(luò)協(xié)議的方式。有 arcnet 設(shè)備、ethernet(10 or 100 mbit) 、ethernet(1000mbit) 、wirele

28、ss lan(non-hamradio) 、token ring device、wan interfaces、pcmcia network device support 幾大類。實際上這個選項中主要做的是網(wǎng)絡(luò)接口卡類的設(shè)置,如 10/100m 的以太網(wǎng)網(wǎng)卡。如果linux 系統(tǒng)可以識別到網(wǎng)卡,則基本無需設(shè)置;如果無法識別網(wǎng)卡,則只能自己打開ethernet(10 ro 100 mbit)選項查找了。一般都能找到自己適用的網(wǎng)卡型號。如果沒有找到,只好到廠商那里去要驅(qū)動了。一般把該類編譯到內(nèi)核里,不選“m”而選“y”。19業(yè)余無線電支持(業(yè)余無線電支持(amateur radio support

29、)配置業(yè)余無線電廣播,一般默認(rèn)選項為“n”。 20紅外線支持(紅外線支持(irda(infrared)support )沒有紅外設(shè)備,默認(rèn)選項為“n”。 21isdn 子系統(tǒng)(子系統(tǒng)(isdn subsystem )如果你使用 isdn 上網(wǎng),這個選項選“y”。 22非非 scsi/ide 接口的接口的 cd-rom 設(shè)備(設(shè)備(old cd-rom drivers(not scsi、not ide) )現(xiàn)在的計算機一般都沒有這樣的設(shè)備了,默認(rèn)的選項就是“n”。 23輸入核心支持(輸入核心支持(input core support)該選項下有若干 usb 人機接口設(shè)備(如鼠標(biāo)、鍵盤和游戲桿等)

30、選項。如果你要使這些設(shè)備驅(qū)動編譯進內(nèi)核或以模塊加載,則在選擇前先使“input core support”選項為“y”。24字符設(shè)備(字符設(shè)備(character devices )這個選項的內(nèi)容包括以下幾個大類: i2c support:i2c 是 philips 極力推動的微控制應(yīng)用中使用的低速串行總線協(xié)議。如果你要選擇下面的 video for linux,該項必選。mice:鼠標(biāo)?,F(xiàn)在可以支持總線、串口、ps/2、c&t 82c710 mouse port、pc110 digitizer pad 等,實際上在安裝 linux 時就根據(jù)自己的鼠標(biāo)類型選擇了。joysticks:手

31、柄。設(shè)置在 linux 下手柄驅(qū)動。watchdog cards:“看門狗卡”雖然稱為 cards,這個可以用純軟件來實現(xiàn),當(dāng)然也有硬件的。如果你把這個選中,那么就會在你的/dev 下創(chuàng)建一個名為 watchdog 的文件,它可以記錄你的系統(tǒng)的運行情況,一直到系統(tǒng)重新啟動的 1 分鐘左右。有了這個文件,系統(tǒng)可以恢復(fù)到重啟前的狀態(tài)。video for linux:在 linux 下支持有關(guān)的音頻/視頻卡,可根據(jù)需要選擇。ftape, the floppy tape device driver:磁帶設(shè)備驅(qū)動支持。沒有設(shè)備默認(rèn)為“n”。pcmcia character device support:

32、pcmcia 字符設(shè)備支持。沒有設(shè)備默認(rèn)為“n”。25多媒體設(shè)備(多媒體設(shè)備(multimedia devices)該選項下有 video for linux 和 radio adapters 兩個子選項。其中 radio adapters(無線電適配器)選項一般默認(rèn)為“n”。如果你需要攝像頭等視頻設(shè)備時需要配置 video for linux(linux 視頻)選項。如 video4linux 為視頻采集設(shè)備提供了編程接口。 26crypto 硬件支持(硬件支持(crypto hardware support)沒有該類設(shè)備時,默認(rèn)配置為“n”。27文件系統(tǒng)(文件系統(tǒng)(file systems

33、 )這個選項的內(nèi)容包括以下幾個大類:quota support:用 quota 支持可以限制每個用戶可用的硬盤空間的上限,在多用戶共同使用一臺主機的情況中十分有效。dos fat fs support:dos fat 文件格式的支持,可以支持 fat16、fat32。iso 9660 cd-rom file system support:cd-rom 使用的就是 iso 9660 的文件格式。ntfs file system support:ntfs 是 nt 使用的文件格式。/proc file system support:/proc 文件系統(tǒng)是 linux 提供給用戶和系統(tǒng)進行交互的通道

34、,建議選上,否則有些功能沒法正確執(zhí)行。 virtual memory file system support:虛擬內(nèi)存文件系統(tǒng)支持,一般用默認(rèn)配置。network file systems(網(wǎng)絡(luò)文件系統(tǒng)):如果要進行嵌入式系統(tǒng)開發(fā),則可以對它配置,也可以通過在終端下執(zhí)行 setup 命令設(shè)置(模塊加載方式) ;如果配置 smb 服務(wù)器(linux 和 windows 相互以網(wǎng)絡(luò)鄰居的形式訪問對方) ,則可以對它配置。partition types(分區(qū)類型):一般用默認(rèn)配置。native language support(本地語言支持):系統(tǒng)根據(jù)安裝時對語言支持的選擇配置。28控制臺驅(qū)動(控制

35、臺驅(qū)動(console drivers)一般使用 vga text console 就可以了,標(biāo)準(zhǔn)的 80*25 的文本控制臺。 如果要使用某些特殊的顯示模式,如幀緩沖等可以配置其中的 video mode selection support、frame-buffer support 等部分子選項。 29聲卡驅(qū)動(聲卡驅(qū)動(sound) 如果你的系統(tǒng)有聲卡,則安裝中 linux 會檢測它并設(shè)置 sound card support 和相應(yīng)的聲卡驅(qū)動程序為“y”,如果系統(tǒng)檢測不到聲卡,則你只能在聲卡驅(qū)動列表中看看能否找到適合的了。 30usb 支持(支持(usb supprot)很多 usb 設(shè)

36、備,比如鼠標(biāo)、攝像頭、調(diào)制解調(diào)器、打印機、掃描儀等,在 linux 都可以得到支持,可以根據(jù)需要自行選擇。31附加設(shè)備驅(qū)動支持(附加設(shè)備驅(qū)動支持(additional device driver support)如果你的系統(tǒng)中有一些像 aep ssl accelerator 等附加的設(shè)備,則可以在該選項中進行選擇,如果沒有,則默認(rèn)為“n”。 32藍(lán)牙支持(藍(lán)牙支持(bluetooth support)如果你的系統(tǒng)中有藍(lán)牙設(shè)備,則可以在該選項的子選項中進行選擇,如果沒有,則默認(rèn)為“n”。 33profiling 支持(支持(profiling support)這個選項用來開啟系統(tǒng)內(nèi)核做效率統(tǒng)計,

37、并會提供其他在為系統(tǒng)檢錯時有用的信息。這些功能的開啟會付出一些時間代價,并造成系統(tǒng)執(zhí)行得較為緩慢,如果你在研究或測試系統(tǒng)內(nèi)核的某些問題,則可以選擇“y”;否則默認(rèn)為“n”。普通用戶是用不著這個功能的。34內(nèi)核分析(內(nèi)核分析(kernel hacking )該選項是為優(yōu)化或增強功能而對系統(tǒng)內(nèi)核進行的調(diào)整。如果你正在開發(fā)驅(qū)動程序或試圖調(diào)試內(nèi)核找出問題可以選“y”,否則默認(rèn)為“n”。普通用戶是用不著這個功能的。 35庫例程(庫例程(library routines) 該選項下有兩個子選項 zlib discompression support 和 zlib compression support 分

38、別為zlib 庫解壓縮和壓縮的支持;默認(rèn)為“n”。設(shè)置選項及子選項很多,這里只是介紹 35 個大項和部分子選項,其目的是讓大家了解內(nèi)核裁剪時內(nèi)核的配置包含哪些內(nèi)容。在做完選項的選擇后,不要忘記保存設(shè)置后退出,保存按鈕如圖 3-5 所示。當(dāng)然、你也可以不保存退出,或者保存到系統(tǒng)配置文件中以便以后裝載再配置。圖 3-5 配置保存3.33.3 編譯系統(tǒng)內(nèi)核編譯系統(tǒng)內(nèi)核當(dāng)配置完成并保存退出后就要重新編譯系統(tǒng)內(nèi)核。系統(tǒng)一般會在配置結(jié)束時提示要進make dep 操作。 運行帶有 clean 和 dep 選項的 make 文件以清除過時的目標(biāo)文件并建立合適的獨立性(如果要正確編譯代碼,必須要滿足該要求)

39、。命令為:make depmake clean如果沒有出現(xiàn)錯誤提示,就可以運行 make zimage 命令,該命令將在 /usr/src/linux-2.4.20-8/arch/i386/boot 目錄下生成一個全新的內(nèi)核。該內(nèi)核文件名稱為 zimage ,使用中注意大小寫。如果給內(nèi)核添加了許多驅(qū)動程序或各種各樣的支持,可能需要使用 make bzimage 命令,該命令可以制作出一個很大的內(nèi)核映象文件,該文件可以帶所有的選項進行啟動。一般當(dāng)編譯的內(nèi)核較大時系統(tǒng)會推薦內(nèi)核命名為 bzimage。內(nèi)核編譯完成后,由于有些模塊并沒有編譯進內(nèi)核、而是通過加載的(選擇“m” ) ;所以需要編譯、安裝

40、模塊。命令為:make modulesmake modules_install 重新編譯內(nèi)核的過程,會花費比較多的時間;具體的時間取決于你選擇內(nèi)核的大小、處理器的速度等因數(shù)。一般在嵌入式系統(tǒng)中內(nèi)核比較精悍,編譯過程會比較快;另外、如果沒有運行其他的負(fù)載密集型的應(yīng)用程序(如 x 圖形程序) ,編譯過程會更快。3.43.4 啟用新系統(tǒng)內(nèi)核啟用新系統(tǒng)內(nèi)核以上各個步驟完成之后,就可以準(zhǔn)備啟用新的系統(tǒng)內(nèi)核來工作了。如果你沒有采用grub 或 lilo 等引導(dǎo)程序進行多培、配置啟動,則一定要備份正在使用的系統(tǒng)內(nèi)核。.1 備份正在使用的系統(tǒng)內(nèi)核備份正在使用的系統(tǒng)內(nèi)核在啟用新的系統(tǒng)內(nèi)核前,作好

41、正在使用的系統(tǒng)內(nèi)核備份是非常重要的!一旦新系統(tǒng)內(nèi)核崩潰,用應(yīng)急啟動盤進入 linux 系統(tǒng),恢復(fù)舊系統(tǒng)內(nèi)核。制作步驟如下:cd /bootmv vmlinuz-2.4.20-8 vmlinuz.old #現(xiàn)有的內(nèi)核更名 cp /usr/src/linux-2.4.20-8/arch/i386/boot/zimage/boot #復(fù)制新內(nèi)核到/boot目錄.2 多配置啟動的配置文件修改多配置啟動的配置文件修改如果你用 grub 或 lilo 配置文件啟動,則要修改該文件。以 grub.conf 文件為例default=0timeout=10splashimage=(hd0,1)/

42、boot/grub/splash.xpm.gztitle red hat linux (2.4.20-8)root (hd0,1)kernel /boot/vmlinuz-2.4.20-8 ro root=label=/initrd /boot/initrd-2.4.20-8.imgtitle winxprootnoverify (hd0,0)chainloader +1第 1 種方案,不增加啟動選項:把 grub.conf 文件中的以下行:kernel /boot/vmlinuz-2.4.20-8 ro root=label=/改為:kernel /boot/zimage ro root=l

43、abel=/第 2 種方案,增加一個啟動選項;grub.conf 文件修改為:default=0timeout=10splashimage=(hd0,1)/boot/grub/splash.xpm.gztitle red hat linux (2.4.20-8)root (hd0,1)kernel /boot/vmlinuz-2.4.20-8 ro root=label=/initrd /boot/initrd-2.4.20-8.imgtitle red hat linux-new (2.4.20-8)root (hd0,1)kernel /boot/bzimage ro root=label

44、=/initrd /boot/initrd-2.4.20-8.imgtitle winxprootnoverify (hd0,0)chainloader +1修改后保存文件,如果是用 lilo 一定要在超級用戶提示符下執(zhí)行 lilo 或 lilo v 令以使配置文件生效;如果用 grub 則無須執(zhí)行命令。重啟系統(tǒng)后則可以用 linux 新的內(nèi)核啟動了。如果是嵌入式系統(tǒng)開發(fā),則可以把裁剪過的內(nèi)核 3.53.5 linuxlinux 內(nèi)核升級內(nèi)核升級.1 查看版本查看版本首先說明,下面帶 * 符號的行都是要輸入的命令行,且本文提到的所有命令行都在終端里輸入。啟動 linux 虛擬操

45、作系統(tǒng),并用根用戶登錄,進入終端模式下。輸入* uname a 命令來查看 linux 內(nèi)核版本 圖 3-6 查看當(dāng)前 linux 版本從中可以看出當(dāng)前 linux 版本是 2.4.20-.2 配置工作配置工作首先將下載的 4 個升級工具和 linux2.6 內(nèi)核源碼包拷貝到/usr/src 文件夾下。 具體步驟:先通過共享將該 4 個升級工具和 linux2.6 內(nèi)核源碼包共享到/mnt/hgfs 文件下,然后在剪貼到/usr/src 文件夾下??截愅戤吅?,開始解壓 linux2.6 新內(nèi)核,具體操作依次執(zhí)行以下命令* cd /usr/src (進入到/usr/src 目錄

46、下)* tar jvxf linux-2.6.18.tar.bz2(解壓 linux 新內(nèi)核) 圖 3-7 輸入內(nèi)核解壓命令解壓過程中圖 3-8 內(nèi)核解壓過程(一)圖 3-9 內(nèi)核解壓過程(二)解壓結(jié)束后,然后輸入* ln -s linux-2.6.18 linux (重新生成 linux 文件夾)3. 安裝 module-init-tools 工具具體步驟如下:在/usr/src 目錄下,依次執(zhí)行下列命令:首先輸入命令* tar jvxf module-init-tools-3.2.tar.bz2 (解壓 module-init-tools) 圖 3-10 解壓 module-init-to

47、ols 工具解壓結(jié)束后在輸入:* cd module-init-tools-3.2 (由/usr/src 目錄進入 module-init-tools 目錄下)* ls(查看該目錄下的文件)圖 3-11 module-init-tools 目錄下然后輸入:* ./configure -prefix=/ 結(jié)果如下:圖 3-12 相關(guān)命令結(jié)果接下來輸入:* make moveold 結(jié)果如下:圖 3-13 舊文件移除過程(一)圖 3-14 舊文件移除過程(二)緊接著輸入:* make all install結(jié)果如下:圖 3-15 安裝過程(一)圖 3-16 安裝過程(二)圖 3-17 安裝過程(三

48、)最后輸入:* ls(查看該目錄下的文件)查看之后,再輸入:* ./generate-modprobe.conf /etc/modprobe.conf根據(jù)下面顯示,因為沒有報錯,所以安裝成功!圖 3-18 安裝成功4.安裝 mkinitrd-4.1.18-2.i386 升級工具在終端中輸入* cd /sur/src然后再輸入* rpm -ivh -nodeps mkinitrd-4.1.18-2.i386.rpm圖 3-19 安裝 mkinitrd-4.1.18-2.i386 工具mkinitrd-4.1.18-2.i386 升級工具安裝成功!5.安裝 lvm2-2.00.25-1.01.i3

49、86 升級工具輸入* rpm -ivh -nodeps lvm2-2.00.25-1.01.i386.rpm圖 3-20 安裝 mkinitrd-4.1 lvm2-2.00.25-1.01.i386.工具圖 3-21mkinitrd-4.1 lvm2-2.00.25-1.01.i386.工具安裝成功lvm2-2.00.25-1.01.i386 升級工具安裝成功!6.安裝 device-mapper-1.00.19-2.i386 升級工具輸入* rpm -ivh -nodeps device-mapper-1.00.19-2.i386.rpm圖 3-22 安裝 mkinitrd-4.1 lvm2

50、-2.00.25-1.01.i386.工具device-mapper-1.00.19-2.i386 升級工具安裝成功!7.配置內(nèi)核選項首先通過輸入* cd /usr/src/ 然后再輸入* cd linux-2.6.18 進入到 linux-2.6.18 目錄下圖 3-23 進入 linux-2.6.18 目錄輸入* make mrproper 該命令可確保該目錄下沒有不正確的.o 文件。輸入* make menuconfig 命令來(配置內(nèi)核各選項。出現(xiàn)如下界面:圖 3-24 進入配置內(nèi)核界面接下來在該界面上進行相關(guān)操作。1通過上下左右鍵來選擇 loadable module support

51、 選項,enter。圖 3-25 選擇 loadable module support 選項選上“module unloading”和“automatic kernel module loading”這兩項。圖 3-26 選擇 loadable module support 選項然后退出。2在 device drivers-block devices 中選上“l(fā)oopback device support” ;圖 3-27 選擇loopback device support選項在 device drivers-multi-device support(raid and lvm)處要選上“dev

52、ice mapper support” ;圖 3-28 選擇device mapper support選項device drivers-graphics support,一定要選上“ support for frame buffer devices” ;圖 3-29 選擇 support for frame buffer devices 選項device mapper supportdevice drivers -usb support -選上“usb mass storage support” ;圖 3-30 選擇usb mass storage support選項device driver

53、s -;network device support -ethernet (10 or 100mbit) - amd pcnet32 pci support 圖 3-31 選擇 amd pcnet32 pci support 選項 file system-(以下 9 個選項是關(guān)于 ext2 和 ext3 文件系統(tǒng)配置,全部選上)second extended fs supportext2 extended attributesext2 posix access control listsext2 security labelsext3 journalling file system suppo

54、rtext3 extended attributesext3 posix access control listsext3 security labelsjbb (ext3) debugging support圖 3-32 ext2 和 ext3 文件系統(tǒng)配置 file system-dos/fat/nt filesystems -選上“ntfs file system support” ;圖 3-33 進入 dos/fat/nt filesystems圖 3-34 選擇ntfs file system support選項 vmware 下編譯 linux 內(nèi)核,硬盤用的是 scsi 的,需選

55、擇以下三個選項: device drivers -scsi device support -scsi disk support;圖 3-35 選擇 scsi disk support t 選項 device drivers-scsi device support-scsi low-level drivers-; buslogic scsi support圖 3-36 選擇 buslogic scsi support 選項.3 編譯工作編譯工作以下步驟均在在/usr/src/linux-2.6.18 目錄下執(zhí)行相關(guān)命令來實現(xiàn)編譯。1.輸入* make bzimage 命令圖 3-37 輸入 make bzimage 命令圖 3-38 編譯內(nèi)核內(nèi)核編譯成功!2.輸入* make modules 用于編譯可加載模塊;3.輸入* make modules_install 用于安裝可加載模塊;圖 3-39 安裝可加載模塊安裝成功后,系統(tǒng)會在/lib/modules 目錄下生成一個 2.6.18 子目錄,里面存放著新內(nèi)核的所有可加載模塊。4.輸入* make install 用于安裝新內(nèi)核。圖 3-40 安裝新內(nèi)核由于出現(xiàn)如下錯誤信息:no module buslogic found for kernel 2.4.12mkinitrd faile

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論