資源描述:
《我的linux內核移植筆記》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、我的linux內核移植筆記宿主機:centos5.6目標機:ok6410A交叉編譯器:arm-linux-gcc-4.3.2交叉編譯器路徑:/usr/local/arm/4.3.2要移植的內核版本:linux-2.6.36U-BOOT:u-boot1.1.6文件系統(tǒng)類型:cramfs(目前使用光盤中l(wèi)inux-2.6.36的文件系統(tǒng))作者:yueye時間:2012-4-4一、獲取Linux內核源碼首先,從官網上下載linux-2.6.36的內核。在ftp://ftp.kernel.org/pub/linux/kernel/v2.6/找到。新建目錄mkdir/home/yu
2、eye/ok6410,接著將源碼包放在該目錄下。解壓源碼包到我的工作目錄tar-zxvflinux-2.6.36.tar.gz–C/home/yueye/ok6410二、修改Makefile前提是你的PATH環(huán)境編譯可以找到你的交叉編譯工具鏈。查看PATH環(huán)境變量:echo$PATH添加環(huán)境變量:vi~/.bashrc在打開的文件最后加上:exportPATH=/usr/local/arm/4.3.2/bin:$PATH[root@wwwok6410]#cdlinux-2.6.36[root@wwwlinux-2.6.36]#viMakefile-------------
3、-----------------------------#ARCH?=$(SUBARCH)#CROSS_COMPILE?=$(CONFIG_CROSS_COMPILE:"%"=%)ARCH?=armCROSS_COMPILE?=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-備注:后來編譯內核時出現(xiàn)無法找到交叉編譯器的錯誤,這個問題郁悶了一天,原來在配置內核時要選擇這個選項才能吃到我們設定的交叉編譯器。在配置內核注意要選上以下選項KernelFeatures--->[*]UsetheARMEABItocompilethek
4、ernel[*]AllowoldABIbinariestorunwiththiskernel(EXPERIMENTAL)三、配置NandFlash分區(qū)信息在linux-2.6.36archarmmach-s3c64xxmach-smdk6410.c文件中,添加如下內容://tzq@20120401addit#include#include#include/*我的開發(fā)板NandFlash大小為1GB,按如下大小進行分區(qū)*/3.1建立分區(qū)表/**********
5、***************************tzq@20120401addit*ConfiguringNandflashonSMDK6410************************************/structmtd_partitionok6410_nand_part[]={{/*1MB*/.name="Bootloader",.offset=0,.size=(1*SZ_1M),.mask_flags=MTD_CAP_NANDFLASH,},{/*5MB*/.name="Kernel",.offset=(1*SZ_1M),.size=(5*SZ_
6、1M),.mask_flags=MTD_CAP_NANDFLASH,},{/*120MB*/.name="User",.offset=(6*SZ_1M),.size=(120*SZ_1M),},{/*THELESSSIZEALL*/.name="FileSystem",.offset=MTDPART_OFS_APPEND,.size=MTDPART_SIZ_FULL,}};注釋:name:?代表分區(qū)名字size:?代表flash分區(qū)大小(單位:字節(jié))offset:?代表flash分區(qū)的起始地址(相對于0x0的偏移)目標板計劃分4個區(qū),分別存放bootloader,?ker
7、nel,?FileSystem以及以便以后擴展使用的用戶文件系統(tǒng)空間。各分區(qū)在Nand?flash中起始地址.?分區(qū)大小.?記錄如下:bootloader:start:?0x00000000len:???0x001000001MBkernel:start:?0x00100000len:???0x005000003MBrootfs:start:?0x00600000len:???0x0780000040MBUser:start:?0x08400000len:???0x4000000020MB3.2加入NandFlash分區(qū)sta