資源描述:
《linux實驗十編譯linux內(nèi)核》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗十編譯Linux內(nèi)核10.1實驗?zāi)康模赫莆站幾gARM系統(tǒng)內(nèi)核的過程。10.2實驗內(nèi)容:完成編譯Linux內(nèi)核。10.3實驗設(shè)備:1、一套S3C2410RP嵌入式實驗箱。2、安裝Redhat9的宿主PC機,并且配置好ARMLinux的開發(fā)環(huán)境。10.4預(yù)備知識:熟悉Linux基本操作。10.5實驗步驟:1、在宿主PC機端,打開一個終端窗口(Terminal),點擊【紅帽?SystemTools?Terminal】啟動終端窗口,請您輸入下列7條命令配置內(nèi)核并編譯內(nèi)核:①cd/2410RP_linux/kernel/*進入Linux內(nèi)核文件所
2、在的目錄*/②ls/*查看內(nèi)核文件結(jié)構(gòu)*/2、請您輸入:③makemenuconfig/*推薦使用,如圖10-1*/這條命令是用來調(diào)用菜單式的配制內(nèi)核界面,相應(yīng)的還有命令行式的配置方法。圖10-1makemenuconfig界面是圖形化的內(nèi)核裁減界面。通過此部分,我們可以方便的選擇,決定哪些部分被加載并編譯入LINUX內(nèi)核,哪些部分被編譯為模塊,哪些部分不用。在此我們建議您先別做任何修改,但可以進入每個選項熟悉該選項的功能,之后進行再次編譯生成一個內(nèi)核zImage文件。3、請您輸入,如圖10-2:④makedep圖10-24、編譯內(nèi)核,如圖
3、10-3,請您輸入,:⑤makeclean⑥makezImage圖10-3編譯生成Linux的內(nèi)核文件zImage,保存在/2410RP_linux/kernel/arch/arm/boot下面,如圖10-4。圖10-4makeclean后第一次使用makezImage命令,會占用相當(dāng)長的時間。宿主機會根據(jù)autoconfig.h文件對系統(tǒng)進行編譯。首先使用交叉編譯器(armv4l-unknown-gcc)把各個文件夾下用過的.c文件編譯為二進制的目標(biāo)文件,其次用鏈接器(armv4l-unknown-ld)把這些目標(biāo)文件連接到一起;最后壓縮
4、,就得到了內(nèi)核的鏡像文件zImage。這個文件是可以下載并燒寫到S3C2410-RP目標(biāo)板上運行的內(nèi)核。5、編譯模塊,請您輸入:⑦makemodules編譯模塊驅(qū)動程序,凡是在menuconfig配置中被選為的都會在這條命令運行時被編譯。6、makemenuconfig選項的說明:在Linux中,工程化的編程都會使用makemenuconfig,它是一個比較成熟的裁減界面。不同工程之間的menuconfig會有差別,但大體相同。下面就把主要的部分做以說明:Codematurityleveloptions這個選項的作用域是整個編譯配置空
5、間,如果這里選中相應(yīng)的級別,不符合此條件的選項就不會在后面出現(xiàn)。這個選項是代碼的成熟程度的選擇,意思是如果你需要一個非常成熟穩(wěn)定的系統(tǒng),那么有些新功能就不能使用,一個包含有新功能的系統(tǒng)就可能存在相應(yīng)的風(fēng)險。可以根據(jù)你自己的需求選擇。Loadablemodulesupport這個選項是你的內(nèi)核對內(nèi)核模塊的支持選項,包括是否支持和支持的一些配置等,選擇此項會使內(nèi)核文件變大。SystemType擇對系統(tǒng)的支持,如什么樣的ARM內(nèi)核,什么樣的配置平臺等,此例提供的內(nèi)核是給S3C2410準(zhǔn)備的,如果使用不同的處理器其系統(tǒng)或是不同的內(nèi)核時此處的選項可能
6、不同。GeneralSetup這里是內(nèi)核本身的一些屬性的配置,包括壓縮方式,網(wǎng)絡(luò)支持等很多屬性。Parallelportsupport這個選項顧名思義就是選擇內(nèi)核對并口的支持情況,當(dāng)選中對并口支持后會出現(xiàn)新的選項來配置支持不同類型不同模式的并口。MemoryTechnologyDevices(MTD)對MTD設(shè)備的支持選項,這個選項對嵌入式系統(tǒng)比較重要,內(nèi)核對各種Flash的支持都在這里配置,包括種類,分區(qū)等。PlugandPlayconfiguration內(nèi)核對即插即用的支持選項,這個選項在嵌入式系統(tǒng)中極少使用。Blockdevices內(nèi)
7、核對塊設(shè)備的支持選項,各種磁盤系統(tǒng)的支持。Multi-devicesupport多設(shè)備的支持,主要是RAID和LVM的支持,這個在嵌入式系統(tǒng)中極少使用。Networkingsupport對網(wǎng)絡(luò)設(shè)備的支持選項,通常對網(wǎng)卡的支持在這里選擇,也是常用的選項,例如系統(tǒng)配置不同的網(wǎng)卡時就要在這里選中不同的選項。ATA/IDE/MFM/RLLsupportIDE口的支持,這里選擇支持不同的IDE設(shè)備,包括CDROMHARDDISKTAP等。SCSIsupportSCSI設(shè)備的支持選項,也比較少使用。I2Odevicesupport智能IO結(jié)構(gòu)支持,嵌入
8、式也比較少使用。ISDNsupportISDN的支持選項Inputdevicesupport輸入設(shè)備核支持,通常當(dāng)需要支持USAB的HID設(shè)備時選中。Characterdevic