小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Intel CE2110上Redboot的使用

 enrol 2012-04-05
Intel CE2110上Redboot的使用
來源: ChinaUnix博客  日期: 2009.08.24 16:28 (共有條評(píng)論) 我要評(píng)論  
Sam很早之前使用過redboot。后來很快忘記如何使用了。 之后在Intel CE2110以及 CE3100上使用了redboot.結(jié)果現(xiàn)在有段時(shí)間不用,又忘記了。只好再看一遍。這次能記得住嗎?光頭葛說:我看(不)行!
Redboot簡(jiǎn)介:
Redboot是Redhat公司隨eCos發(fā)布的一個(gè)BOOT方案,是一個(gè)開源項(xiàng)目。
Redboot支持的處理器構(gòu)架有ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等,是一個(gè)完善的嵌入式系統(tǒng)Boot Loader。
Redboot是在ECOS的基礎(chǔ)上剝離出來的,繼承了ECOS的簡(jiǎn)潔、輕巧、可靈活配置、穩(wěn)定可靠等
品質(zhì)優(yōu)點(diǎn)。它可以使用X-modem或Y-modem協(xié)議經(jīng)由串口下載,也可以經(jīng)由以太網(wǎng)口通過
BOOTP/DHCP服務(wù)獲得IP參數(shù),使用TFTP方式下載程序映像文件,常用于調(diào)試支持和系統(tǒng)初始化。
RedBoot的基本用法:
1. 進(jìn)入Redboot 設(shè)置界面:
在Intel-CE2110重新啟動(dòng)時(shí),按下Ctrl+C。 則進(jìn)入Redboot配置模式下。
出現(xiàn)以下提示符,表明進(jìn)入RedBoot設(shè)置界面。
RedBoot>
在此界面下,可以使用RedBoot命令執(zhí)行操作。
2. 修改RedBoot boot script。此script將被RedBoot在啟動(dòng)時(shí)使用。
首先進(jìn)入RedBoot boot script edit界面。
RedBoot> fconfig
則出現(xiàn):
>>
在這里輸入: RedBoot boot script內(nèi)容。
若發(fā)現(xiàn)fconfig后,出現(xiàn)莫名其妙的錯(cuò)誤,可以清空boot script,方法:
RedBoot>fconfig -i
Intel CE2110上,按照kernel和rootfs放置的不同方式,有3種啟動(dòng)方式(與CE3100很類似):
1. kernel和rootfs全部放置在tftp server上。
2. kernel燒入到NOR flash中,rootfs則使用 nfs server中的。
3. kernel和rootfs全部燒入NOR flash中。
前2種方式在開發(fā)階段非常有用??梢钥焖傩薷膋ernel和rootfs.
1. kernel和rootfs全部放置在tftp server上:
1.1: copy zImage(kernel)和initrd_media.gz(rootfs)到/tftpboot
1.2:
RedBoot> fconfig
>>load –v –r –m tftp –h 172.16.1.61 –b 0x200000 zImage_olo
>>load –v –r –m tftp –h 172.16.1.61 –b 0x1000000 initrd_media.gz
>>exec –r 0x1000000 –s 0x12B2BDD –l 0x300000 –c “console=ttyS0, 115200 mem=100M@0 root=/dev/ram0 init=/linuxrc” 0x200000
則可以使用了。(但Sam使用這個(gè)辦法時(shí)總有問題。顯示亂碼。)
現(xiàn)講解命令如下:
load: 下載數(shù)據(jù)到目標(biāo)系統(tǒng)RAM中.
-v: 下載過程顯示進(jìn)度
-r: 下載未處理的數(shù)據(jù)到RAM
-b: 數(shù)據(jù)下載到RAM的地址
-m: 方式
-h: host
exec: 執(zhí)行一個(gè)映象文件,如引導(dǎo)Linux內(nèi)核
-r: 傳遞給內(nèi)核的ramdisk_address起始地址
-s: 傳遞給內(nèi)核的ramdisk_address長(zhǎng)度
-b: 內(nèi)核映象文件地址
-l: 內(nèi)核映象文件長(zhǎng)度
-c: 傳遞給內(nèi)核的命令行
2. kernel燒入到NOR flash中,rootfs則使用 nfs server中的。 (Sam還是有問題)
2.1. kernel burn 到flash。
2.1.1 把新kernel--zImage放到/tftpboot
2.1.2 Ctrl-c 進(jìn)入redboot模式。
2.1.3燒入:
RedBoot>fis init
RedBoot>load -v -r -m tftp -h 172.16.1.61 -b 0x00200000 zImage_olo
RedBoot>fis unlock -f 0xc0040000 -l 0x00200000
RedBoot>fis create -b 0x00200000 -l 0x00200000 zImage

注解如下:
fis 是RedBoot FIS(Flash Image System)相關(guān)命令。
RedBoot>fis init
初始化FIS目錄,-f表示將所有的flash空間初始化

RedBoot>load -v -r -m tftp -h 172.16.1.61 -b 0x00200000 zImage_olo
將zImage_olo這個(gè)文件從tftp上copy到RAM 0x00200000 處。
RedBoot>fis unlock -f 0xc0040000 -l 0x00200000
解除flash空間的鎖定,-f flash_address,-l length
RedBoot>fis create -b 0x00200000 -l 0x00200000 zImage
在FIS(Flash Image System)目錄中創(chuàng)建一個(gè)映象,將當(dāng)前RAM中的數(shù)據(jù)寫入FLASH存儲(chǔ)器中。因此,在使用該命令之前,映象文件數(shù)據(jù)必須已經(jīng)保存在RAM中。
-b:待寫入flash數(shù)據(jù)的存放地址(RAM地址)
-l:長(zhǎng)度
zImage:創(chuàng)建映象的名稱
Sam想,為什么沒有用 -f(flash地址),是因?yàn)樯弦痪渲噶钪付藆nlock的flash.所以缺省放在那了。
2.2 準(zhǔn)備rootfs在nfs中:
進(jìn)入redboot config
RedBoot>fconfig
>>fis load zImage
>>exec -c "console=ttyS0,115200
mem=100M@0
root=/dev/nfs nfsroot=172.16.1.61:/home/sam/Intel, nolock ip=dhcp" 0x200000
3. kernel和rootfs全部燒入NOR flash中(重點(diǎn))
3.1把Kernel(zImage)和rootfs(busybox_media.jffs2)放到/tftpboot中。
3.2ctrl-c進(jìn)入redboot模式。
3.3燒入:
RedBoot〉fis init
RedBoot〉load -v -r -m tftp -h 172.16.1.61 -b 0x00200000 zImage_olo
RedBoot〉load -v -r -m tftp -h 172.16.1.61 -b 0x01000000 busybox_media.jffs2
RedBoot〉fis unlock -f 0xc0040000 -l 0x00200000
RedBoot〉fis create -b 0x00200000 -l 0x00200000 zImage
RedBoot〉fis create -f 0xc0240000 -l 0x01d80000 -n root
RedBoot〉fis unlock -f 0xc0240000 -l 0x01d80000
RedBoot〉fis erase -f 0xc0240000 -l 0x01d80000
RedBoot〉fis write -f 0xc0240000 -l xxxxxx -b 0x01000000
注意:xxxxxx是rootfs的長(zhǎng)度,需要經(jīng)過計(jì)算得到
也就是在load -v -r -m tftp -h 172.16.1.61 -b 0x01000000 busybox_media.jffs2之后,
看到其輸出:Raw file loaded 0x01000000-0x01e5ffff
則長(zhǎng)度為:0x01e5ffff-0x01000000+1=0xE60000
RedBoot〉fis write -f 0xc0240000 -l 0xE60000 -b 0x01000000
講解如下:
RedBoot〉fis init
RedBoot〉load -v -r -m tftp -h 172.16.1.61 -b 0x00200000 zImage_olo
RedBoot〉load -v -r -m tftp -h 172.16.1.61 -b 0x01000000 busybox_media.jffs2

初始化FIS目錄。并把zImage_olo和rootfs分別放到RAM 0x200000和0x1000000位置。
fis unlock -f 0xc0040000 -l 0x00200000
解除flash空間的鎖定
RedBoot〉fis create -b 0x00200000 -l 0x00200000 zImage
RedBoot〉fis create -f 0xc0240000 -l 0x01d80000 -n root

將RAM中0x00200000處的東西(zImage)放到Flash xC0040000處. 并創(chuàng)建名為zImage的分區(qū)。
在Flash起始地址0xc0240000 創(chuàng)建為root分區(qū)。
RedBoot〉fis unlock -f 0xc0240000 -l 0x01d80000
RedBoot〉fis erase -f 0xc0240000 -l 0x01d80000
RedBoot〉fis write -f 0xc0240000 -l xxxxxx -b 0x01000000

把root分區(qū)所在flash解壓縮。
把root分區(qū)所在Flash Erase.
把RAM 0x01000000的東西(rootfs)放到0xc0240000的FLASH中。
至此:把kernel和rootfs放到flash各自區(qū)域中了。
3.4進(jìn)入redboot config
RedBoot〉fconfig
>>fis load zImage
>> exec -c "console=ttyS0,115200
mem=100M@0
rootfstype=jffs2 rootflags=noatime root=/dev/mtdblock2 rw" 0x200000
一切正常。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多