U-boot1.1.6移植到TQ2440開發(fā)板(下)
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_CMDLINE_TAG 1
#define CONFIG_INITRD_TAG 1
#defineCONFIG_BOOTARGS "noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttySAC0"
#defineCONFIG_BOOTCOMMAND "nand read
將zImage.bin文件拷到tools/目錄下,輸入命令:
#mkimage -n linux-2.6.30 -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -d zImage.bin zImage.img
就可以生成帶有頭信息的zImage.img了,將其燒寫就可以正常啟動了
這里解釋一下參數(shù)的意義:
-A==>setarchitecturetoarch
-O==>setoperatingsystemtoos
-T==>setimage typetotype
-C==>setcompressiontypecomp
-a==>setload addresstoaddr (hex)
-e==>setentrypointtoep (hex)
-n==>setimage nametoname
-d==>useimage datafromdatafile
-x==>setXIP(executein place)
上面的方法是可行,但是卻很麻煩吖,不可能每次編譯好了內(nèi)核,還要去添加一次頭信息吧?所以,從linux 2.6版本開始,就可以使用make uImage命令,直接生成帶有頭信息的uImage了,請到arch/arm/boot下查看呵呵。
如果使用make uImage提示有錯誤,那就自己百度吧。。。自學(xué),百度是必需的!
好了,就到這里,現(xiàn)在的話,u-boot+linux+root都OK了,可能接下來是QT吧。。。嘿嘿,要讓LCD大放異彩,必需的。
最后補充下,具體將這些燒寫到NANDFLASH里的那里呢?這和你的分區(qū)有關(guān),前面已經(jīng)說了分區(qū)了,所以,請將你的U-BOOT燒寫到0地址,linux燒寫到0x200000,root就到0x5000000吧
評論