[ECOS] Re: [iPAQ] Restore CE (or bootldr) from Redboot?

Gary Thomas gthomas@redhat.com
Tue Feb 5 07:02:00 GMT 2002


On Mon, 2002-02-04 at 13:46, George Saj wrote:
> Has anyone attempted to restore WinCE to flash from Redboot?
> I have a device that I need to test on but at this point it is stuck with the 
> Redboot loader and the documentation is a bit vague on how it can be removed 
> <g>. It points to the handhelds.org WinCE restoration pages, which only
> explains how to flash back from Compaq bootldr(which I have successfully done 
> before), not Redboot.
> 
> I'd like to do this without "bricking" my iPAQ.

First, let me point out that ecos-discuss@sources.redhat.com is probably
the best place to ask for advice on RedBoot.

Which version of RedBoot are you running?  The most recent versions 
(actually for about a year now) leave the Parrot loader in place.  If 
you have a CF backup of your WinCE, you can just use that.  

The way to tell the vintage of your RedBoot is by using the 'fis list' 
command.  If the RedBoot image is at the address 0x50040000, then you're
running a new version.  If it is at 0x50000000, then you've got an old 
version and the Parrot loader has been overwritten with RedBoot.

Assuming that you can't restore directly from CF, the basic process is 
to load the WinCE file(s) into RAM and write to the FLASH.  This is 
probably best done in stages. The original backup process should have 
created 4 files:
  flash_00000000.bin
  flash_00400000.bin
  flash_00800000.bin
  flash_00c00000.bin
Since you'll be overwriting the RedBoot image itself (which executes
from FLASH/ROM), you'll first need to load a RAM based version and 
execute the commands from there:
  RedBoot> load RedBoot.RAM
This assumes you have the .srec file "RedBoot.RAM" available on TFTP.
You could also download this same file using X-modem:
  RedBoot> load -m xm 

Now start the RAM based RedBoot:
  RedBoot> go

You'll get a new prompt.  Now load and copy the FLASH images.  Using
TFTP, you'd use:
  RedBoot> load -r -b 0x100000 flash_00400000.bin
  RedBoot> fis write -f 0x50400000 -b 0x100000 -l 0x00400000
  RedBoot> load -r -b 0x100000 flash_00800000.bin
  RedBoot> fis write -f 0x50800000 -b 0x100000 -l 0x00400000
  RedBoot> load -r -b 0x100000 flash_00c00000.bin
  RedBoot> fis write -f 0x50c00000 -b 0x100000 -l 0x00400000
If you're running a recent ROM RedBoot (with Parrot loader intact):
  RedBoot> load -r -b 0x100000 flash_00000000.bin
  RedBoot> fis write -f 0x50040000 -b 0x140000 -l 0x003c0000
If you're running an original ROM RedBoot (with no Parrot loader):
  RedBoot> load -r -b 0x100000 flash_00000000.bin
  RedBoot> fis write -f 0x50000000 -b 0x100000 -l 0x00400000

If you need to load using X-modem, just add "-m xm" to each of the
"load" commands, e.g.
  RedBoot> load -m xm -r -b 0x100000

Good luck.  Let us know if you have questions or problems.



More information about the Ecos-discuss mailing list