版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、滁滁州州學學院院課課程程設設計計報報告告課程名稱:課程名稱: 操作系統(tǒng) 設計題目設計題目: linux 內核編譯與裁剪 系系 別:別: 計算機科學與技術系 專專 業(yè):業(yè): 計算機科學與技術專業(yè) 組組 別:別: 起止日期起止日期: 2011 年 5 月 20 日 2011 年 6 月 22 日 指導教師指導教師: 計算機科學與技術系二計算機科學與技術系二九年制九年制課程設計任務書課程設計題目linux 內核編譯和裁剪組長學號班級09 計科系別計算機科學與技術專業(yè)計算機科學與技術組員項鵬程,徐鑫,周小航,鐘鑫鑫指導教師馬麗生課程設計目的通過該實驗了解和掌握 linux 內核進行裁剪和編譯以及升級的
2、主要操作方法和步驟。課程設計所需環(huán)境軟件:操作系統(tǒng) windows xp、linux硬件:最低 cpu 速度:233mhz,推薦 cpu 速度:550mhz最小內存要求: 128m,推薦最小內存:256m課程設計任務要求實現(xiàn)將 linux 內核進行裁剪和編譯,并 linux2.4 內核升級到2.6 內核。課程設計工作進度計劃序號起止日期工 作 內 容分工情況2011-5-202011-6-12收集實現(xiàn)所需的資料,分析討論所要進行的實驗主要工作由徐鑫,周小航同學完成,全體參與討論2011-6-132011-6-17該階段主要做 linux 內核的一般編譯和裁剪主要由小組全體同學協(xié)助項鵬程完成20
3、11-6-182011-6-20實現(xiàn) linux2.4 內核到2.6 內核的升級主要由小組全體同學協(xié)助楊超完成2011-6-212011-6-22實驗材料整理,課程設計報告的完成主要由小組全體同學協(xié)助鐘鑫鑫完成指導教師簽字: 年 月 日教研室審核意見:教研室主任簽字: 年 月 日目目 錄錄引引言言.4需需求求分分析析.42.1 前期準備.42.2 開發(fā)工具.43 3. .詳詳細細設設計計.53.1 linux內核的裁剪.53.1.1 內核支持(編譯)模式.53.1.2. 裁剪系統(tǒng)內核應遵循的步驟.53.2 配置系統(tǒng)內核.63.2.1 配置內容.83.2.2 配制方法.93.3 編譯系統(tǒng)內核.1
4、53.4 啟用新系統(tǒng)內核.163.4.1 備份正在使用的系統(tǒng)內核.163.4.2 多配置啟動的配置文件修改.163.5 linux內核升級.173.5.1 查看版本.173.5.2 配置工作.183.5.3 編譯工作.333.5.4 啟動新內核.354 4. . 課課程程設設計計總總結結與與體體會會.374.1 總結.374.2 體會.375 5. .致致謝謝.37參參考考文文獻獻.37引言引言linux 是一類 unix 計算機操作系統(tǒng)的統(tǒng)稱,也是自由軟件和開放源代碼發(fā)展中最著名的例子。linux 作為一個免費、自由軟件,內核版本不斷升級。新的內核修訂了舊內核的bug,并增加了許多新的特性。
5、同時也使得 linux 系統(tǒng)更加穩(wěn)定、更加安全,進一步滿足用戶的功能需求。linux 內核裁剪是根據(jù)用戶的需要進行刪除和保留相關的模塊。linux 內核裁剪完成后在進行編譯,使之后的 linux 系統(tǒng)為用戶所需要的操作系統(tǒng)。linux 內核升級是為了彌補較低版本的漏洞,使得 linux 系統(tǒng)安全系數(shù)更高;另外使 linux 系統(tǒng)的性能更穩(wěn)定;最后是增加新功能,滿足用戶的功能需求。本次課程設計是通過相關操作來實現(xiàn)將 linux 內核進行裁剪和編譯,并 linux2.4 內核升級到 2.6 內核。如果用戶想要使用這些新特性,或想根據(jù)自己的系統(tǒng)度身定制一個更高效,更穩(wěn)定的內核,就需要根據(jù)自己的需要進
6、行重新裁剪、編譯內核以及內核升級。需求分析需求分析2.12.1 前期準備前期準備linux2.6 內核源碼:linux-2.6.18.tar.bz2內核升級工具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.詳細設計詳細設計3.13.1 linuxlinux 內核的裁剪內核的裁剪 .1 內核支持(編譯)模式內核支持(編譯)模式 linux 對于
7、計算機硬件、網(wǎng)絡和文件系統(tǒng)等部件的驅動程序支持既可以放在系統(tǒng)內核中,也可以作為一個可加載的模塊(modules)使用。當驅動程序放在系統(tǒng)內核中時,linux 假定該硬件是存在于系統(tǒng)中的;而作為可加載模塊使用時,只有在知道該硬件存在于系統(tǒng)時才會作為系統(tǒng)內核的一部分,當 linux 檢測到硬件時,該模塊才被加入到系統(tǒng)內核中。如果把驅動程序編譯到內核中,在內核啟動時就可以自動支持相應部分的功能,這樣做的優(yōu)點是方便、速度快,機器一旦啟動,你就可以使用這部分功能了;缺點是會使內核變得龐大,無論是否需要這部分功能,它都會存在;這可能會增加被系統(tǒng)攻擊者利用的漏洞。一般把經(jīng)常使用的部分直接編譯到內核中,比如網(wǎng)
8、卡等。如果編譯成模塊,就會生成對應的.o 模塊文件,系統(tǒng)啟動時它并不在內存中,它是在使用的時候由用戶執(zhí)行 insmod 命令來動態(tài)加載,這樣做的優(yōu)點是不會使內核過分龐大,缺點是你得自己來調用這些模塊。.1.2. 裁剪系統(tǒng)內核應遵循的步驟裁剪系統(tǒng)內核應遵循的步驟linux 系統(tǒng)內核的裁減涉及到模塊間的依賴關系、內核的配置和編譯等多個步驟,任何一個步驟的失誤都有可能導致裁減、編譯失敗。其基本步驟如下:檢查編譯器的版本刪除過時的目標文件重新設置系統(tǒng)內核重新編譯系統(tǒng)內核備份正在使用的系統(tǒng)內核試用新的系統(tǒng)內核 檢查編譯器的版本檢查編譯器的版本用低版本的編譯器去編譯高版本的內核有可能不能編譯
9、或使內核不能使用。要查看編譯器版本,可以執(zhí)行命令: #gcc v進入系統(tǒng)內核源代碼目錄。一般系統(tǒng)內核的源代碼放在 /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 是一個鏈接文件,它的鏈接目標
10、是指向 linux-2.4.20-8 目錄,因此、cd linux-2.4 就是進入 linux-2.4.20-8 目錄。 刪除過時的目標文件刪除過時的目標文件 進入 /usr/src/linux-2.4.20-8 目錄,運行 make mrproper 命令以清除過時、舊的目標文件。這是因為經(jīng)過多次編譯后系統(tǒng)會留下部分目標文件,如果沒有清除干凈可能造成本次編譯出錯。如果沒有編譯過或者是系統(tǒng)升級的新解壓縮目錄,則這一步驟可以省略主要是本課題所需要的硬件設計與軟件設計,包含建立設計所需的數(shù)學模型并列出必要的計算公式、計算過程及說明,硬件電路的設計與實現(xiàn),寫出設計計算結果;繪出計算機程序框圖,寫出
11、自編的程序。3.23.2 配置系統(tǒng)內核配置系統(tǒng)內核無論是內核裁減還是內核升級都要重新配置系統(tǒng)內核。共有三種方式來運行配置內核的命令:設置屏幕的類型 命令 文本 make config 窗口菜單(ncurses) make menuconfig x 圖形 make xconfig 第 1 種 make config 是命令行方式,使用與修改都較為不便,一般不推薦使用。第 2 種 make menuconfig 是窗口菜單方式,采用窗口菜單進行人機交互,并可隨時獲得幫助;它占用的內存較少,適合在字符終端下使用,如圖 3-1 所示。圖 3-1 menuconfig 主屏幕第 3 種 make xco
12、nfig 是圖形用戶界面,采用圖形窗口按鈕進行人機交互,整個設置界面簡潔明了、使用非常方便且?guī)椭募踩菀撰@取,適合在 x windows 下使用,如圖 3-2所示。圖 3-2 xconfig 主屏幕一般在 /usr/src/linux-2.4.20-8/ 目錄下運行設置命令。在窗口菜單(ncurses)下,用戶可以利用光標鍵移動到選項、再用空格鍵或鼠標(選中顯示*號)來進行設置并可以任意回退做修改。在 x 圖形下用戶可以通過鼠標單擊按鈕來進行配置并可以任意回退做修改。在文本類型下則不能,因為它只在整個設置過程中一直向你提問。.1 配置內容配置內容配置系統(tǒng)內核的目的是建立一個適
13、合大小、滿足需求的系統(tǒng)內核;因此,用戶必須根據(jù)自己所設計系統(tǒng)的需要對 linux 系統(tǒng)支持的硬件和軟件進行適當裁減,即從配置內容中選擇相應的硬件類型和合適的設備驅動程序。不同的內核版本顯示的配置內容有所不同,這里以 linux 內核 2-4-20 版本為例說明。編號類別含義1code maturity level options代碼成熟級別2loadable module support可裝載模塊支持3processor type and features處理器類型與特征4general setup一般設置5memory technology devicemtd 設備支持6parallel p
14、ort support并行口支持7plug and play configuration即插即用支持8block devices塊設備支持9multi-device support(raid and lvm)多設備支持10cryptography support密碼系統(tǒng)支持11networking options網(wǎng)絡選項12telephony support電話支持13ata/ide/mfm/rll support多種接口存儲設備支持14scsi supportscsi 設備的支持15fusion mpt device supportfusion mpt 設備支持16ieee 1394(fir
15、ewire)supportieee 1394 防火墻設備支持17i2o device supporti2o 設備支持18network device support網(wǎng)絡設備支持19amateur radio support業(yè)余無線電支持20irda(infrared)support紅外線支持21isdn subsystemisdn 子系統(tǒng)22old cd-rom drivers(not scsi、not ide)非 scsi/ide 接口的 cd-rom 設備23input core support輸入核心支持24character devices字符設備25multimedia device
16、s多媒體設備26crypto hardware supportcrypto 硬件支持27file systems文件系統(tǒng)28console drivers控制臺驅動29sound聲卡驅動30usb supportusb 支持31additional device driver support附加設備驅動支持32bluetooth support藍牙支持33profiling supportprofiling 支持34kernel hacking內核分析35library routines庫例程.2 配制方法配制方法以運行 xconfig 設置程序為例說明配置方法。在 xconf
17、ig 主屏幕上有許多設置選項,但在內核裁減中許多選項可以采用默認的設置。下面按配置內容類別說明主要選項的配置方法,截取的配置圖供大家參考。1.代碼成熟級別選項(代碼成熟級別選項(code maturity level options ) 這里只有一項:prompt for development and/or incomplete code/drivers,如果你要試驗使用還有待完善的代碼,比如 framebuffer、khttpd、ipv6 等,就必須把該項選擇為 y;否則可以把它選擇為 n。這是內核的一個內置特性,不能選擇為模塊。如圖 3-3 所示。圖 3-3 代碼成熟級別選項2.可裝載模
18、塊支持(可裝載模塊支持(loadable module support )這里有 3 項,如圖3-4所示。圖 3-4 可裝載的模塊支持enable loadable module support:除非你準備把所有需要的內容都編譯到內核里面,否則該項應該是必選的。set version information on all module symbols:可選可不選。kernel module loader:讓內核在啟動時有自己裝入必需模塊的能力,該選項必須在enable loadable module support 選項激活(即為“y”)情況下才能選擇;建議選上。3. 處理器類型與特征(處理器
19、類型與特征(processor type and features )這里的選項一般不需要設置,使用默認的設置即可。例如:processor family:系統(tǒng)安裝時會根據(jù)你的計算機情況選擇 cpu 類型。high memory support:大容量內存的支持。可以支持到 4g、64g,默認為“off”。math emulation:協(xié)處理器仿真,現(xiàn)在的協(xié)處理器已集成在 cpu 內;默認為“n”。mttr support:mttr(memory type range register)支持??刹贿x,默認為“n”。symmetric multi-processing support:對稱多處理
20、器支持。單 cpu 系統(tǒng)一般不用選。4.一般設置(一般設置(general setup )這里是安裝 red hat linux9.0 時對系統(tǒng)最基本的硬件設置。這部分內容非常多,一般在安裝中 linux 會根據(jù)你計算機系統(tǒng)的硬件自動檢測并設置,使用缺省設置就可以。常用的選項簡要介紹如下:networking support:網(wǎng)絡支持。如果有網(wǎng)卡默認為“y”。pci support:pci 支持。如果使用了 pci 的卡,默認為“y”。pci access mode:pci 存取模式??晒┻x擇的有 bios、direct 和 any,默認為any。support for hot-pluggab
21、el devices:熱插拔設備支持。如果有此類設備默認為“y”。pcmcia/cardbus support:pcmcia/cardbus 支持。用系統(tǒng)測試的默認選擇。 system v ipcbsd process accountingsysctl support 以上三項是有關進程處理 ipc 調用的,主要就是 system v 和 bsd 兩種風格。如果你不是使用 bsd,就不要改變默認選擇。power management support:電源管理支持,用系統(tǒng)默認選擇。advanced power management bios support:高級電源管理 bios 支持,用系統(tǒng)默
22、認選擇。5. mtd 設備支持(設備支持(memory technology device)mtd 設備是像閃存芯片、小型閃存卡、記憶棒等之類的設備,它們在嵌入式設備中的使用正在不斷增長。pc 上一般默認為“n”。 6. 并行口支持(并行口支持(parallel port support )如果不打算使用并行口,就選“n”。 7. 即插即用支持(即插即用支持(plug and play configuration )目前 linux 對即插即用設備的支持不如 windows 好,如果系統(tǒng)中有 pnp 設備,默認的選項為“y”。8. 塊設備支持(塊設備支持(block devices )一般使用
23、缺省設置就可以,主要選項簡要說明如下:normal pc floppy disk support:普通 pc 軟盤支持。若有軟驅默認為“y”。xt hard disk support:早期的硬盤支持,一般默認為“n”。compaq smart2 support:磁盤陣列控制卡,沒有該設備為“n”。mulex dac960/dac1100 pci raid controller support:raid 鏡像, 沒有該設備為“n”。 loopback device support:把文件當成區(qū)塊設備使用,一般默認為“n”network block device support:網(wǎng)絡塊設備支持。如
24、果想訪問網(wǎng)上鄰居的東西,選“y”。 ram disk support:ram 盤支持, 一般默認為“n”。9多設備支持(多設備支持(multi-device support(raid and lvm) )multiple devices driver support:多設備驅動支持, 一般默認為“n”;該項激活(“y”)時以下兩項才可以選擇。 raid support:raid 支持,沒有該設備為“n”。logical volume manager(lvm)support:邏輯卷管理支持,一般默認為“n”。10密碼系統(tǒng)支持密碼系統(tǒng)支持(cryptography support)在個人計算機(p
25、c)系統(tǒng)上一般不用,系統(tǒng)默認為“n”。11網(wǎng)絡選項(網(wǎng)絡選項(networking options )這里配置的主要是網(wǎng)絡協(xié)議,其選項很多。如果要定義tcp/ip、atm、ipx、decnet、appletalk等協(xié)議的支持,可以把它們編譯進內核中或以模塊加載。在這里還可以配置路由、防火墻、ip 隱藏、ip 廣播、ip 轉發(fā)等等。不過有些配置仍然處于實驗階段,例如:ipv6、httpd、qos and/or fair queueing(服務質量公平調度)等。 12電話支持(電話支持(telephony support )linux 下可以支持電話卡,這樣你就可以在 ip 上使用普通的電話提供語
26、音服務了。默認選項為“n”。13多種接口存儲設備支持(多種接口存儲設備支持(ata/ide/mfm/rll support )有關各種接口的硬盤/光驅/磁帶/軟盤支持,一般使用默認的選項即可。 14scsi 設備的支持(設備的支持(scsi support )如果有 scsi 設備,系統(tǒng)會默認選擇若干選項,其他的選項可以根據(jù)情況選擇。如果在 pc 上安裝了虛擬機(如 vm) ,則會把 ide 硬盤虛擬成 scsi 硬盤,部分選項會自動選中。 15fusion mpt 設備支持(設備支持(fusion mpt device support )需要 fusion mpt 兼容 pci 適配器,一般
27、默認為“n”。16ieee 1394 防火墻設備支持(防火墻設備支持(ieee 1394(firewire)support)該項仍在實驗中,默認為“n”。 17i2o 設備支持(設備支持(i2o device support )需要 i2o 接口適配器支持,在智能 input/output(i2o)體系接口中使用。默認為“n”。 18網(wǎng)絡設備支持(網(wǎng)絡設備支持(network device support )在網(wǎng)絡選項中選好協(xié)議后,在這項中定義使用這些網(wǎng)絡協(xié)議的方式。有 arcnet 設備、ethernet(10 or 100 mbit) 、ethernet(1000mbit) 、wirele
28、ss lan(non-hamradio) 、token ring device、wan interfaces、pcmcia network device support 幾大類。實際上這個選項中主要做的是網(wǎng)絡接口卡類的設置,如 10/100m 的以太網(wǎng)網(wǎng)卡。如果linux 系統(tǒng)可以識別到網(wǎng)卡,則基本無需設置;如果無法識別網(wǎng)卡,則只能自己打開ethernet(10 ro 100 mbit)選項查找了。一般都能找到自己適用的網(wǎng)卡型號。如果沒有找到,只好到廠商那里去要驅動了。一般把該類編譯到內核里,不選“m”而選“y”。19業(yè)余無線電支持(業(yè)余無線電支持(amateur radio support
29、)配置業(yè)余無線電廣播,一般默認選項為“n”。 20紅外線支持(紅外線支持(irda(infrared)support )沒有紅外設備,默認選項為“n”。 21isdn 子系統(tǒng)(子系統(tǒng)(isdn subsystem )如果你使用 isdn 上網(wǎng),這個選項選“y”。 22非非 scsi/ide 接口的接口的 cd-rom 設備(設備(old cd-rom drivers(not scsi、not ide) )現(xiàn)在的計算機一般都沒有這樣的設備了,默認的選項就是“n”。 23輸入核心支持(輸入核心支持(input core support)該選項下有若干 usb 人機接口設備(如鼠標、鍵盤和游戲桿等)
30、選項。如果你要使這些設備驅動編譯進內核或以模塊加載,則在選擇前先使“input core support”選項為“y”。24字符設備(字符設備(character devices )這個選項的內容包括以下幾個大類: i2c support:i2c 是 philips 極力推動的微控制應用中使用的低速串行總線協(xié)議。如果你要選擇下面的 video for linux,該項必選。mice:鼠標。現(xiàn)在可以支持總線、串口、ps/2、c&t 82c710 mouse port、pc110 digitizer pad 等,實際上在安裝 linux 時就根據(jù)自己的鼠標類型選擇了。joysticks:手
31、柄。設置在 linux 下手柄驅動。watchdog cards:“看門狗卡”雖然稱為 cards,這個可以用純軟件來實現(xiàn),當然也有硬件的。如果你把這個選中,那么就會在你的/dev 下創(chuàng)建一個名為 watchdog 的文件,它可以記錄你的系統(tǒng)的運行情況,一直到系統(tǒng)重新啟動的 1 分鐘左右。有了這個文件,系統(tǒng)可以恢復到重啟前的狀態(tài)。video for linux:在 linux 下支持有關的音頻/視頻卡,可根據(jù)需要選擇。ftape, the floppy tape device driver:磁帶設備驅動支持。沒有設備默認為“n”。pcmcia character device support:
32、pcmcia 字符設備支持。沒有設備默認為“n”。25多媒體設備(多媒體設備(multimedia devices)該選項下有 video for linux 和 radio adapters 兩個子選項。其中 radio adapters(無線電適配器)選項一般默認為“n”。如果你需要攝像頭等視頻設備時需要配置 video for linux(linux 視頻)選項。如 video4linux 為視頻采集設備提供了編程接口。 26crypto 硬件支持(硬件支持(crypto hardware support)沒有該類設備時,默認配置為“n”。27文件系統(tǒng)(文件系統(tǒng)(file systems
33、 )這個選項的內容包括以下幾個大類: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:虛擬內存文件系統(tǒng)支持,一般用默認配置。network file systems(網(wǎng)絡文件系統(tǒng)):如果要進行嵌入式系統(tǒng)開發(fā),則可以對它配置,也可以通過在終端下執(zhí)行 setup 命令設置(模塊加載方式) ;如果配置 smb 服務器(linux 和 windows 相互以網(wǎng)絡鄰居的形式訪問對方) ,則可以對它配置。partition types(分區(qū)類型):一般用默認配置。native language support(本地語言支持):系統(tǒng)根據(jù)安裝時對語言支持的選擇配置。28控制臺驅動(控制
35、臺驅動(console drivers)一般使用 vga text console 就可以了,標準的 80*25 的文本控制臺。 如果要使用某些特殊的顯示模式,如幀緩沖等可以配置其中的 video mode selection support、frame-buffer support 等部分子選項。 29聲卡驅動(聲卡驅動(sound) 如果你的系統(tǒng)有聲卡,則安裝中 linux 會檢測它并設置 sound card support 和相應的聲卡驅動程序為“y”,如果系統(tǒng)檢測不到聲卡,則你只能在聲卡驅動列表中看看能否找到適合的了。 30usb 支持(支持(usb supprot)很多 usb 設
36、備,比如鼠標、攝像頭、調制解調器、打印機、掃描儀等,在 linux 都可以得到支持,可以根據(jù)需要自行選擇。31附加設備驅動支持(附加設備驅動支持(additional device driver support)如果你的系統(tǒng)中有一些像 aep ssl accelerator 等附加的設備,則可以在該選項中進行選擇,如果沒有,則默認為“n”。 32藍牙支持(藍牙支持(bluetooth support)如果你的系統(tǒng)中有藍牙設備,則可以在該選項的子選項中進行選擇,如果沒有,則默認為“n”。 33profiling 支持(支持(profiling support)這個選項用來開啟系統(tǒng)內核做效率統(tǒng)計,
37、并會提供其他在為系統(tǒng)檢錯時有用的信息。這些功能的開啟會付出一些時間代價,并造成系統(tǒng)執(zhí)行得較為緩慢,如果你在研究或測試系統(tǒng)內核的某些問題,則可以選擇“y”;否則默認為“n”。普通用戶是用不著這個功能的。34內核分析(內核分析(kernel hacking )該選項是為優(yōu)化或增強功能而對系統(tǒng)內核進行的調整。如果你正在開發(fā)驅動程序或試圖調試內核找出問題可以選“y”,否則默認為“n”。普通用戶是用不著這個功能的。 35庫例程(庫例程(library routines) 該選項下有兩個子選項 zlib discompression support 和 zlib compression support 分
38、別為zlib 庫解壓縮和壓縮的支持;默認為“n”。設置選項及子選項很多,這里只是介紹 35 個大項和部分子選項,其目的是讓大家了解內核裁剪時內核的配置包含哪些內容。在做完選項的選擇后,不要忘記保存設置后退出,保存按鈕如圖 3-5 所示。當然、你也可以不保存退出,或者保存到系統(tǒng)配置文件中以便以后裝載再配置。圖 3-5 配置保存3.33.3 編譯系統(tǒng)內核編譯系統(tǒng)內核當配置完成并保存退出后就要重新編譯系統(tǒng)內核。系統(tǒng)一般會在配置結束時提示要進make dep 操作。 運行帶有 clean 和 dep 選項的 make 文件以清除過時的目標文件并建立合適的獨立性(如果要正確編譯代碼,必須要滿足該要求)
39、。命令為:make depmake clean如果沒有出現(xiàn)錯誤提示,就可以運行 make zimage 命令,該命令將在 /usr/src/linux-2.4.20-8/arch/i386/boot 目錄下生成一個全新的內核。該內核文件名稱為 zimage ,使用中注意大小寫。如果給內核添加了許多驅動程序或各種各樣的支持,可能需要使用 make bzimage 命令,該命令可以制作出一個很大的內核映象文件,該文件可以帶所有的選項進行啟動。一般當編譯的內核較大時系統(tǒng)會推薦內核命名為 bzimage。內核編譯完成后,由于有些模塊并沒有編譯進內核、而是通過加載的(選擇“m” ) ;所以需要編譯、安裝
40、模塊。命令為:make modulesmake modules_install 重新編譯內核的過程,會花費比較多的時間;具體的時間取決于你選擇內核的大小、處理器的速度等因數(shù)。一般在嵌入式系統(tǒng)中內核比較精悍,編譯過程會比較快;另外、如果沒有運行其他的負載密集型的應用程序(如 x 圖形程序) ,編譯過程會更快。3.43.4 啟用新系統(tǒng)內核啟用新系統(tǒng)內核以上各個步驟完成之后,就可以準備啟用新的系統(tǒng)內核來工作了。如果你沒有采用grub 或 lilo 等引導程序進行多培、配置啟動,則一定要備份正在使用的系統(tǒng)內核。.1 備份正在使用的系統(tǒng)內核備份正在使用的系統(tǒng)內核在啟用新的系統(tǒng)內核前,作好
41、正在使用的系統(tǒng)內核備份是非常重要的!一旦新系統(tǒng)內核崩潰,用應急啟動盤進入 linux 系統(tǒng),恢復舊系統(tǒng)內核。制作步驟如下:cd /bootmv vmlinuz-2.4.20-8 vmlinuz.old #現(xiàn)有的內核更名 cp /usr/src/linux-2.4.20-8/arch/i386/boot/zimage/boot #復制新內核到/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 新的內核啟動了。如果是嵌入式系統(tǒng)開發(fā),則可以把裁剪過的內核 3.53.5 linuxlinux 內核升級內核升級.1 查看版本查看版本首先說明,下面帶 * 符號的行都是要輸入的命令行,且本文提到的所有命令行都在終端里輸入。啟動 linux 虛擬操
45、作系統(tǒng),并用根用戶登錄,進入終端模式下。輸入* uname a 命令來查看 linux 內核版本 圖 3-6 查看當前 linux 版本從中可以看出當前 linux 版本是 2.4.20-.2 配置工作配置工作首先將下載的 4 個升級工具和 linux2.6 內核源碼包拷貝到/usr/src 文件夾下。 具體步驟:先通過共享將該 4 個升級工具和 linux2.6 內核源碼包共享到/mnt/hgfs 文件下,然后在剪貼到/usr/src 文件夾下??截愅戤吅螅_始解壓 linux2.6 新內核,具體操作依次執(zhí)行以下命令* cd /usr/src (進入到/usr/src 目錄
46、下)* tar jvxf linux-2.6.18.tar.bz2(解壓 linux 新內核) 圖 3-7 輸入內核解壓命令解壓過程中圖 3-8 內核解壓過程(一)圖 3-9 內核解壓過程(二)解壓結束后,然后輸入* 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 工具解壓結束后在輸入:* cd module-init-tools-3.2 (由/usr/src 目錄進入 module-init-tools 目錄下)* ls(查看該目錄下的文件)圖 3-11 module-init-tools 目錄下然后輸入:* ./configure -prefix=/ 結果如下:圖 3-12 相關命令結果接下來輸入:* make moveold 結果如下:圖 3-13 舊文件移除過程(一)圖 3-14 舊文件移除過程(二)緊接著輸入:* make all install結果如下:圖 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.配置內核選項首先通過輸入* cd /usr/src/ 然后再輸入* cd linux-2.6.18 進入到 linux-2.6.18 目錄下圖 3-23 進入 linux-2.6.18 目錄輸入* make mrproper 該命令可確保該目錄下沒有不正確的.o 文件。輸入* make menuconfig 命令來(配置內核各選項。出現(xiàn)如下界面:圖 3-24 進入配置內核界面接下來在該界面上進行相關操作。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 個選項是關于 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 內核,硬盤用的是 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í)行相關命令來實現(xiàn)編譯。1.輸入* make bzimage 命令圖 3-37 輸入 make bzimage 命令圖 3-38 編譯內核內核編譯成功!2.輸入* make modules 用于編譯可加載模塊;3.輸入* make modules_install 用于安裝可加載模塊;圖 3-39 安裝可加載模塊安裝成功后,系統(tǒng)會在/lib/modules 目錄下生成一個 2.6.18 子目錄,里面存放著新內核的所有可加載模塊。4.輸入* make install 用于安裝新內核。圖 3-40 安裝新內核由于出現(xiàn)如下錯誤信息:no module buslogic found for kernel 2.4.12mkinitrd faile
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度租住服務合同:日常房屋租住過程中的服務內容與權益保護
- 2024年擠塑板購銷意向合同
- 2024年光纖通信網(wǎng)絡設備采購合同
- 2024年技術服務與技術咨詢合同
- 2024年新一代互聯(lián)網(wǎng)技術研發(fā)與使用權轉讓合同
- 2024年度廣告發(fā)布合同:甲乙雙方在二零二四年就某產(chǎn)品廣告發(fā)布的詳細合同條款
- 2024年影視器材安裝及租賃合同
- 2024年房地產(chǎn)交易抵押借款合同
- 2024年烷基單乙醇酰胺及其醚衍生物項目綜合評估報告
- 2024年式豪華車租賃合同范本
- 《春節(jié)的文化與習俗》課件
- 手機棋牌平臺網(wǎng)絡游戲商業(yè)計劃書
- 學校體育與社區(qū)體育融合發(fā)展的研究
- 醫(yī)療機構高警示藥品風險管理規(guī)范(2023版)
- 一年級體質健康數(shù)據(jù)
- 八年級物理(上)期中考試分析與教學反思
- 國家開放大學《財政與金融(農(nóng))》形考任務1-4參考答案
- 2023銀行網(wǎng)點年度工作總結
- 工廠反騷擾虐待強迫歧視政策
- 計算機教室(微機室)學生上機使用記錄
- FAI首件檢驗報告
評論
0/150
提交評論