ubuntu下linux內(nèi)核編譯詳細(xì)說明、_第1頁(yè)
ubuntu下linux內(nèi)核編譯詳細(xì)說明、_第2頁(yè)
ubuntu下linux內(nèi)核編譯詳細(xì)說明、_第3頁(yè)
ubuntu下linux內(nèi)核編譯詳細(xì)說明、_第4頁(yè)
ubuntu下linux內(nèi)核編譯詳細(xì)說明、_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 1 / 6 一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)重新編譯Linux內(nèi)核,理解、掌握Linux內(nèi)核和發(fā)行版本的區(qū)別。 二、實(shí)驗(yàn)內(nèi)容 在Linux操作系統(tǒng)環(huán)境下重新編譯內(nèi)核。實(shí)驗(yàn)主要內(nèi)容: A.查找并且下載一份內(nèi)核源代碼,本實(shí)驗(yàn)使用最新的Linux內(nèi)核 2.6.36。 B.配置內(nèi)核。 C.編譯內(nèi)核和模塊。 D.配置啟動(dòng)文件。 本次實(shí)驗(yàn)環(huán)境是Linux 2.6.35內(nèi)核的環(huán)境下,下載并重新編譯內(nèi)核源代碼( 2.6.36);然后,配置GNU的啟動(dòng)引導(dǎo)工具grub,成功運(yùn)行編譯成功的內(nèi)核。 三、主要儀器設(shè)備(必填) Linux環(huán)境: utuntu 10.10,linux內(nèi)核 2.6.35 待編譯內(nèi)核: linux 2.

2、6.36 2 / 6 四、操作方法和實(shí)驗(yàn)步驟 【1】下載內(nèi)核源代碼 從http: 2.6.36。 【2】部署內(nèi)核源代碼 打開終端,更改用戶權(quán)限為root。具體做法是在終端輸入sudo su,然后按提示輸入密碼。判斷是否是root用戶是使用whoami命令,若輸出為root則已經(jīng)切換到root賬戶。 輸入mv linux- 2.6. 36.tar.gz /usr/src,目的是把下載的內(nèi)核源代碼文件移到/usr/src目錄。 輸入cd /usr/src切換到該目錄下。 輸入tar zxvf linux- 2.6. 36.tar.gz,目的是解壓內(nèi)核包,生成的源代碼放在linux- 2.6.36目

3、錄下。 輸入cd linux- 2.6.36,切換到該目錄下。 輸入cp /boot/config-,然后按下Tab鍵,系統(tǒng)會(huì)自動(dòng)填上該目錄下符合條件的文件名,然后繼續(xù)輸入.config,目的是使用在boot目錄下的原配置文件。 【3】配置內(nèi)核 配置內(nèi)核的方法很多,主要有如下幾種: 3 / 6 #make menuconfig /基于ncurse庫(kù)編制的圖形工具界面 #make config /基于文本命令行工具,不推薦使用 #make xconfig /基于X11圖形工具界面 #make gconfig /基于gtk+的圖形工具界面 由于對(duì)Linux還處在初學(xué)階段,所以選擇了簡(jiǎn)單的配置內(nèi)核方

4、法,即make menuconfig。 在終端輸入make menuconfig,等待幾秒后,終端變成圖形化的內(nèi)核配置界面。進(jìn)行配置時(shí),大部分選項(xiàng)使用其缺省值,只有一小部分需要根據(jù)不同的需要選擇。 對(duì)每一個(gè)配置選項(xiàng),用戶有三種選擇,它們分別代表的含義如下: <*>或*將該功能編譯進(jìn)內(nèi)核 不將該功能編譯進(jìn)內(nèi)核 M將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內(nèi)核中的代碼 本實(shí)驗(yàn)在make menuconfig后,把ext2和ext3文件系統(tǒng)編譯進(jìn)內(nèi)核。如果用戶是在虛擬機(jī)下編譯的,那么一般要把SCSI設(shè)備編譯進(jìn)內(nèi)核。不是在虛擬機(jī)下編譯的也可以把它編譯進(jìn)去,不會(huì)有什么影響的。 【4】編譯內(nèi)核 這步

5、是時(shí)間最長(zhǎng)的一個(gè)步驟,一般在3個(gè)小時(shí)左右。 編譯內(nèi)核只需在終端輸入make,然后等待編譯的完成。 【5】編譯和安裝內(nèi)核模塊 輸入make modules_install,這步很快能完成。 【6】安裝內(nèi)核 4 / 6 輸入make install 【7】生成啟動(dòng) 依次輸入: sudo mkinitramfs -o /boot/initrd.img- 2.6.36 sudo update-initramfs -c -k 2.6.36 sudo update-grub2 /自動(dòng)修改系統(tǒng)引導(dǎo)配置,產(chǎn)生grub.cfg啟動(dòng)文件。 五、實(shí)驗(yàn)結(jié)果和分析 把內(nèi)核源代碼移動(dòng)到目錄/usr/src,如下圖 在成功

6、執(zhí)行語(yǔ)句 sudo mkinitramfs -o /boot/initrd.img- 2.6.36 sudo update-initramfs -c -k 2.6.36 后的boot目錄,如下圖 在成功執(zhí)行語(yǔ)句 sudo update-grub2 后grub.cfg文件中增加了新內(nèi)核的啟動(dòng)項(xiàng),如下圖 在所有的實(shí)驗(yàn)步驟成功完成后,重新啟動(dòng),可以發(fā)現(xiàn)在啟動(dòng)項(xiàng)中多了兩項(xiàng),分別為L(zhǎng)inux 5 / 6 2.6.36模式和Linux 2.6.36 recovery模式,選擇Linux 2.6.36模式,進(jìn)入新的內(nèi)核,若在啟動(dòng)過程中沒有跳出錯(cuò)誤提示,表示已經(jīng)成功了。進(jìn)入系統(tǒng)后,打開終端,輸入uname -

7、a,輸出如下圖,表明現(xiàn)在已經(jīng)是 2.6.36的內(nèi)核了 六、討論、心得 1、本次實(shí)驗(yàn),共編譯了兩次內(nèi)核,在第一次編譯時(shí),對(duì)內(nèi)核的配置這塊沒有把ext2和ext3文件系統(tǒng)編譯進(jìn)內(nèi)核,導(dǎo)致了編譯完的內(nèi)核無法成功啟動(dòng)。在第二次編譯中,經(jīng)過仔細(xì)的對(duì)內(nèi)核的配置,把ext2和ext3已經(jīng)SCSI編譯進(jìn)內(nèi)核,終于成功了。這讓我覺得內(nèi)核編譯后能否成功啟動(dòng)的關(guān)鍵是內(nèi)核的配置。 2、編譯后的每一個(gè)步驟執(zhí)行后,可以通過查看相關(guān)目錄是否生成了預(yù)期的文件來判斷過程的正確與否。 3、Linux通過在系統(tǒng)引導(dǎo)后從/boot目錄下讀取內(nèi)核映像到內(nèi)存中來完成啟動(dòng)。 4、initrd.img是Linux啟動(dòng)過程中很重要的一個(gè)文件,如果你編譯內(nèi)核時(shí)將一部分功能編譯為可加載模塊。如果系統(tǒng)的一些設(shè)備的驅(qū)動(dòng)編譯為可加載模塊,那么啟動(dòng)時(shí)如果沒有指定INITRD=/path_to_initrd.img,那么系統(tǒng)啟動(dòng)或者會(huì)失敗,或者啟動(dòng)后會(huì)有設(shè)備無法使用(像網(wǎng)卡或者其它設(shè)備)。 如果沒指定initrd.img或者指定的initrd.img中并沒有包含正確的驅(qū)動(dòng)模塊,則系統(tǒng)啟動(dòng)時(shí)會(huì)掛起,并報(bào)告kernel panic: VF

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論