This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
redboot fis trouble
- From: "Amin A. Khaef" <akhaef at ea dot oac dot uci dot edu>
- To: <ecos-discuss at sources dot redhat dot com>, <akhaef at uci dot edu>
- Date: Mon, 17 Dec 2001 16:12:50 -0800 (PST)
- Subject: [ECOS] redboot fis trouble
Hello all
I've managed to put my redboot table in an inconsistent state, or so it
seems. I was hoping someone could either tell me this is normal somehow,
or tell me how I've gone wrong. I tried creating a 31 MB JFFS2 partition
from a 2.5 MB JFFS2 image. I did it 2 ways, and both ways I ended up with
this situation.
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x50000000 0x50000000 0x00040000 0x00000000
RedBoot[backup] 0x50040000 0x50040000 0x00040000 0x00000000
RedBoot config 0x51F80000 0x51F80000 0x00001000 0x00000000
FIS directory 0x51FC0000 0x51FC0000 0x00040000 0x00000000
Linux kernel 0x50080000 0x00100000 0x000C0000 0x00000000
JFFS2 0x50140000 0x50140000 0x01E40000 0x00000000
RedBoot> fis free
0x503C0000 .. 0x51F80000
Note that by the length on the "fis list" above, the JFFS2 partition
should reach from 0x50140000 to 0x51F80000 (that was my goal), yet fis
free shows that much of that region is free.
The rest of this email will show the exact steps I followed to get there.
Thanks in advance for any help.
This was the first thing I tried:
<snip>
RedBoot> load -m ymodem -r -b 0x100000
377500
xyzModem - CRC mode, 20204(SOH)/0(STX)/1(CAN) packets, 6 retries
RedBoot> fis free
0x50140000 .. 0x51F80000
RedBoot> fis unlock -f 0x50140000 -l 0x1E40000
... Unlock from 0x50140000-0x51f80000: .........................
RedBoot> fis erase -f 0x50140000 -l 0x1E40000
... Erase from 0x50140000-0x51f80000: ..........................
RedBoot> fis write -b 0x100000 -l 0x277500 -f 0x50140000
* CAUTION * about to program FLASH
at 0x50140000..0x503bffff from 0x00100000 - are you sure
(y/n)? y
... Erase from 0x50140000-0x503c0000: ..........
... Program from 0x00100000-0x00380000 at 0x50140000: ..........
RedBoot> fis create -f 0x50140000 -l 0x1E40000 -n "JFFS2"
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0x50000000 0x50000000 0x00040000 0x00000000
RedBoot[backup] 0x50040000 0x50040000 0x00040000 0x00000000
RedBoot config 0x51F80000 0x51F80000 0x00001000 0x00000000
FIS directory 0x51FC0000 0x51FC0000 0x00040000 0x00000000
Linux kernel 0x50080000 0x00100000 0x000C0000 0x00000000
JFFS2 0x50140000 0x50140000 0x01E40000 0x00000000
RedBoot> fis free
0x503C0000 .. 0x51F80000
</snip>
Once I noticed the problem I backtracked and tried again more directly
like this:
<snip>
RedBoot> fis delete "JFFS2"
Delete image 'JFFS2' - are you sure (y/n)? y
... Erase from 0x50140000-0x51f80000:
................................................................
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis free
0x50140000 .. 0x51F80000
RedBoot> fis create -b 0x100000 -l 0x1E40000 -s 0x277500 -f 0x50140000
"JFFS2"
... Erase from 0x50140000-0x51f80000:
................................................................
... Program from 0x00100000-0x00377500 at 0x50140000: ..........
... Unlock from 0x51fc0000-0x52000000: .
... Erase from 0x51fc0000-0x52000000: .
... Program from 0x01fbf000-0x01fff000 at 0x51fc0000: .
... Lock from 0x51fc0000-0x52000000: .
RedBoot> fis free
0x503C0000 .. 0x51F80000
</snip>
And again the same problem.
Sorry for the length of this email, and thanks again for any help.