資源描述:
《Linux內(nèi)核.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Linux內(nèi)核Linux內(nèi)核配置與編譯,Linux內(nèi)核移植,mtd設(shè)備最簡(jiǎn)單的嵌入式系統(tǒng)SDRAM0x300000000x00x40000000x002000000x00500000Linux內(nèi)核重要子系統(tǒng)系統(tǒng)調(diào)用接口進(jìn)程管理內(nèi)存管理虛擬文件系統(tǒng)網(wǎng)絡(luò)堆棧設(shè)備驅(qū)動(dòng)程序內(nèi)核版本號(hào)Linux版本號(hào)統(tǒng)一采用的格式為x.y.zx:目前發(fā)布的Kernel主版本y:偶數(shù)則為穩(wěn)定版本;奇數(shù)則為測(cè)試版本或叫開發(fā)中的版本z:錯(cuò)誤修補(bǔ)的次數(shù)例如:linux-2.6.30.4_20100531.tar.bz2燒寫出廠鏡像燒寫內(nèi)核:zImage_Q43_2
2、.6.30.4_20100531.bin到nandflash0x00200000地址燒寫文件系統(tǒng):root_qt_4.5_2.6.30.4_256MB_20100601.bin到nandflash0x00500000地址編譯內(nèi)核鏡像1.解壓縮包:#cp/mnt/hgfs/linux-2.6.30.4_20100531.tar.bz2#tar–jxvflinux-2.6.30.4_20100531.tar.bz2-C/2.內(nèi)核目錄位于:/opt/EmbedSky/linux-2.6.30.4arch/體系結(jié)構(gòu)相關(guān)的代碼,例如:arc
3、h/i386,arch/arm,arch/ppcdrivers/各種設(shè)備驅(qū)動(dòng)程序,例如:drivers/chardrivers/block…Documentation/內(nèi)核文檔fs/文件系統(tǒng),例如:fs/ext3/fs/jffs2…include/內(nèi)核頭文件:include/asm是體系結(jié)構(gòu)相關(guān)的頭文件,它是include/asm-arm、include/asm-i386等目錄的鏈接。include/linux是Linux內(nèi)核基本的頭文件init/Linux初始化,例如:main.cipc/進(jìn)程間通信的代碼kernel/Linux
4、內(nèi)核核心代碼(這部分很小)lib/各種庫(kù)子程序,例如:zlib,crc32mm/內(nèi)存管理代碼net/網(wǎng)絡(luò)支持代碼,主要是網(wǎng)絡(luò)協(xié)議sound聲音驅(qū)動(dòng)的支持scripts/內(nèi)部或者外部使用的腳本usr/用戶的代碼內(nèi)核源碼結(jié)構(gòu)內(nèi)核配置系統(tǒng)Linux內(nèi)核的配置系統(tǒng)由三個(gè)部分組成,分別是:Makefile:分布在Linux內(nèi)核源代碼中的Makefile,定義Linux內(nèi)核的編譯規(guī)則;配置文件(.config):內(nèi)核配置文件,包含由用戶選擇的配置選項(xiàng),用來(lái)存放內(nèi)核配置后的結(jié)果.配置工具:makemenuconfig(基于文本選單的配置界面,字
5、符終端下推薦使用)makexconfig(基于圖形窗口模式的配置界面,Xwindows下推薦使用)makeconfig(基于文本的最傳統(tǒng)的配置界面,不推薦使用)Makefile頂層Makefile:是整個(gè)內(nèi)核配置、編譯的總體控制文件。arch/*/Makefile:位于各種CPU體系目錄下的Makefile,如arch/arm/Makefile,是針對(duì)特定平臺(tái)的Makefile。各個(gè)子目錄下的Makefile:比如drivers/Makefile,負(fù)責(zé)所在子目錄下源代碼的管理makemenuconfigmakemenuconfig
6、:Y-將該功能編譯進(jìn)內(nèi)核。N-不將該功能編譯進(jìn)內(nèi)核。M-將該功能編譯成可以在需要時(shí)動(dòng)態(tài)插入到內(nèi)核中的模塊。驅(qū)動(dòng)程序配置選項(xiàng)幾乎所有Linux的設(shè)備驅(qū)動(dòng)程序都在“DeviceDrivers”菜單下,它對(duì)設(shè)備驅(qū)動(dòng)程序加以歸類,放到子菜單下。下面解釋常用的一些菜單項(xiàng)的內(nèi)容。(1)“GenericDriverOptions”菜單對(duì)應(yīng)drivers/base目錄的配置選項(xiàng),包含Linux驅(qū)動(dòng)程序基本和通用的一些配置選項(xiàng)。(2)“MemoryTechnologyDevices(MTD)”菜單對(duì)應(yīng)drivers/mtd目錄的配置選項(xiàng),包含MTD
7、設(shè)備驅(qū)動(dòng)程序的配置選項(xiàng)。(3)“Parallelportsupport”菜單對(duì)應(yīng)drivers/parport目錄的配置選項(xiàng),包含并口設(shè)備驅(qū)動(dòng)程序。(4)“PlugandPlaysupport”菜單對(duì)應(yīng)drivers/pnp目錄的配置選項(xiàng),包含計(jì)算機(jī)外圍設(shè)備的熱拔插功能。(5)“Blockdevices”菜單對(duì)應(yīng)drivers/block目錄的配置選項(xiàng),包含軟驅(qū)、RAMDISK等驅(qū)動(dòng)程序。(6)“ATA/ATAPI/MFM/RLLsupport”菜單對(duì)應(yīng)drivers/ide目錄的配置選項(xiàng),包含各類ATA/ATAPI接口設(shè)備驅(qū)動(dòng)。
8、(7)“SCSIdevicesupport”菜單對(duì)應(yīng)drivers/scsi目錄的配置選項(xiàng),包含各類SCSI接口的設(shè)備驅(qū)動(dòng)。(8)“Networkdevicesupport”菜單對(duì)應(yīng)drivers/net目錄的配置選項(xiàng),包含各類網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。驅(qū)