建体彩网|中彩网双色球连号|
?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和記娛到h88285:Intel CE2110上Redboot的使用

?

Sam很早之前應用過redboot。后來很快忘懷若何應用了。 之后在Intel CE2110以及 CE3100上應用了redboot.結果現在有段光陰不用,又忘懷了。只好再看一遍。此次能記得住嗎?禿頭葛說:我看(不)行!

Redboot簡介:

Redboot是Redhat公司隨eCos宣布的一個BOOT規劃,是一個開源項目。

Redboot支持的處置懲罰器構架有ARM,MIPS,MN10300,PowerPC, Renesas SHx,v850,x86等,是一個完善的嵌入式系統Boot Loader。

Redboot是在ECOS的根基上剝離出來的,承襲了ECOS的簡潔、輕巧、可機動設置設置設備擺設擺設、穩定靠得住等

品德優點。它可以應用X-modem或Y-modem協議經過串口下載,也可以經過以太網口經由過程

BOOTP/DHCP辦事得到IP參數,應用TFTP要領下載法度榜樣映像文件,常用于調試支持和系統初始化。

RedBoot的基礎用法和記娛到h88285:

1. 進入Redboot 設置界面:

在Intel-CE2110從新啟動時,按下Ctrl+C。 則進入Redboot設置設置設備擺設擺設模式下。

呈現以下提示符,注解進入RedBoot設置界面。

RedBoot>

在此界面下,可以應用RedBoot敕令履行操作。

2. 改動RedBoot boot script。此script將被RedBoot在啟動時應用。

首先輩入RedBoot boot script edit界面。

RedBoot> fconfig

則呈現:

>>

在這里輸入: RedBoot boot script內容。

若發明fconfig后,呈現莫名其妙的差錯,可以清空boot script,措施:

RedBoot>fconfig -i

Intel CE2110上,按照kernel和rootfs放置的不合要領,有3種啟動要領(與CE3100很類似):

1. kernel和rootfs整個放置在tftp server上。

2. kernel燒入到NOR flash中,rootfs則應用 nfs server中的。

3. kernel和rootfs整個燒入NOR flash中。

前2種要領在開拓階段異常有用。可以快速改動kernel和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 1和記娛到h8828572.16.1.61 –b 0x1000000 initrd_media.gz

>>exec –r 0x1000000 –s 0x12B2BDD –l 0x300000 –c “console=ttyS0, 115200 [email protected] root=/dev/ram0 init=/linuxrc” 0x200000

則可以應用了。(但Sam應用這個法子時總有問題。顯示亂碼。)

現解說敕令如下:

load: 下載數據到目標系統RAM中.

-v: 下載歷程顯示進度

-r: 下載未處置懲罰的數據到RAM

-b: 數據下載到RAM的地址

-m: 要領

-h: host

exec: 履行一個映象文件,如向導Linux內核

-r: 通報給內核的ramdisk_address肇端地址

-s: 通報給內核的ramdisk_address長度

-b: 內核映象文件地址

-l: 內核映象文件長度

-c: 通報給內核的敕令行

2. kernel燒入到NOR flash中,rootfs則應用 nfs server中的。 (Sam照樣有問題)

2.1. kernel burn 到flash。

2.1.1 把新kernel--zImage放到/tftpboot

2.1.2 Ctrl-c 進入redboot模式。

2.1.3燒入:

RedBoot>fis 和記娛到h88285init

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)相關敕令。

RedBoot>fis init

初始化FIS目錄,-f表示將所有的flash空間初始化

RedBoot>load -v -r -m tftp -h 172.16.1.61 -b 0x00200000 zImage_olo

將zImage_olo這個文件從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)目錄中創建一個映象,將當前RAM中的數據寫入FLASH存儲器中。是以,在應用該敕令之前,映象文件數據必須已經保存在RAM中。

-b:待寫入flash數據的寄放地址(RAM地址)

-l:長度

zImage:創建映象的名稱

Sam想,為什么沒有用 -f(flash地址),是由于上一句指令指定了unlock的flash.以是缺省放在那了。

2.2 籌備rootfs在nfs中:

進入redboot config

RedBoot>fconfig

>>fis load zImage

>>exec -c "console=ttyS0,115200

[email protected]

root=/dev/nfs nfsroot=172.16.1.61:/home/sam/Intel, nolock ip=dhcp" 0x200000

3. kernel和rootfs整個燒入NOR flash中(重點)

3.1把Kernel(zImage)和rootfs(busybox_media.jffs2)放到/tftpboot中。

3.2ctrl-c進入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的長度,必要顛末謀略獲得

也便是在load -v -r -m tftp -h 172.16.1.61 -b 0x01000000 busybox_media.jffs2之后,

看到其輸出:Raw file loaded 0x0和記娛到h882851000000-0x01e5ffff

則長度為: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

解和記娛到h88285除flash空間的鎖定

RedBoot〉fis create -b 0x00200000 -l 0x00200000 zImage

RedBoot〉fis create -f 0xc0240000 -l 0x01d80000 -n root

將RAM中0x00200000處的器械(zImage)放到Flash xC0040000處. 并創建名為zImage的分區。

在Flash肇端地址0xc0240000 創建為root分區。

RedBoot〉fis unlock -f 0xc0240000 -l 0x01d80000

RedBoot〉fis erase -f 0xc0240000 -l 0x01d80000

RedBoot〉fis write -f 0xc0240000 -l xxxxxx -b 0x01000000

把root分區所在flash解壓縮。

把root分區所在Flash Erase.

把RAM 0x01000000的器械(rootfs)放到0xc0240000的FLASH中。

至此:把kernel和rootfs放到flash各自區域中了。

3.4進入redboot config

RedBoot〉fconfig

>>fis load zImage

>> exec -c "console=ttyS0,115200

[email protected]

rootfstype=jffs2 rootflags=noatime root=/dev/mtdblock2 rw" 0x200000

統統正常。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

建体彩网
深圳风采开奖查询 超级大乐透开奖号码 重庆快乐十分 单双中特百分百高手论坛 彩客现场比分 极速快3是真的假的 扑克脸日语 威廉希尔即时赔率 魔法卡片怎么赚钱 湖南快乐十分1000期