This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: How do I restore WinCE image?


Hi,
    I have tried loading the kernel image thru tftp with decompression and I
was able to get it running.
Thanks for the help.

    By the way, I tested with using the exact length of kernel image
(0x123b4c) as the value for the -l option and it work too.

Regards
Yee Peng

----- Original Message -----
From: "Gary Thomas" <gthomas@redhat.com>
To: "Wong Yee Peng" <wyeepeng@dso.org.sg>
Cc: <ecos-discuss@sourceware.cygnus.com>
Sent: Friday, August 17, 2001 8:18 PM
Subject: Re: [ECOS] How do I restore WinCE image?


>
> On 17-Aug-2001 Wong Yee Peng wrote:
> > Hi,
> >     I think the problem of the "corrupted fis" is sort of solved.
Although
> > the fis table looks different from that on the web page, redboot can
still
> > boot. I can create fis partitions for the kernel and jffs2 images. The
> > reason why I failed to boot to linux is that I set the option "-l
0x80000"
> > for the exec command instead of "-l 0x280000". I thought the length of
the
> > kernel partition is only 0x80000 long, so I thought there was a typo
error.
> > When I tried with 0x280000, it worked.
> >
> >     Now I am quite confused. Why must we use 0x280000 instead of
0x80000? Is
> > it becos we must allocate 2MB more of memory for the kernel to store its
> > temp stuff during booting?
> >
>
> No - Look carefully and you'll see that the image in FLASH is compressed.
> The 'fis load -d Linux' command actually uncompresses it as it goes into
> RAM.  What fits in 0x80000 in FLASH becomes nearly 0x280000 in RAM.  This
> is why you need that value.
>
> >     Then, I tried another thing. Instead of loading the kernel image
from
> > the flash, in the boot script, I told it to load the kernel image from
the
> > tftp server and exec the image immediately from the ram. This simulates
a
> > normal thin client implementation. However, eventhough I used the same
exec
> > command with the "-l 0x280000" option set, it failed to exec and hanged
> > there.
> >
> >     The actual kernel image size downloaded from the tftp server is
0x7e122.
> > I deduced that it might be that fact that we need exactly 2MB extra like
the
> > previous case. So, I used "-l 0x27e122" instead and exec the kernel on
ram.
> > This time, the lcd flash into a messy screen of colours and hangs there.
At
> > least something happened but I am still unable to boot to linux.
> >
>
> Probably because when you downloaded the Linux kernel you didn't
uncompress
> it so you were actually trying to execute compressed data.
>
> > Can anyone help?
> >
> > Yee Peng
> >
> > ----- Original Message -----
> > From: "Gary Thomas" <gthomas@redhat.com>
> > To: "Wong Yee Peng" <wyeepeng@dso.org.sg>
> > Cc: <ecos-discuss@sourceware.cygnus.com>
> > Sent: Thursday, August 16, 2001 9:30 PM
> > Subject: RE: [ECOS] How do I restore WinCE image?
> >
> >
> >>
> >> On 16-Aug-2001 Wong Yee Peng wrote:
> >> > Hi,
> >> >     I managed to permanently install redboot on my ipaq. Then, I
> >> > successfully install the embedded linux kernel and root fs onto the
ipaq
> > and
> >> > got it running once. However, later I think I messed up the fis (most
> >> > probably becos of "fis init" twice while testing with the redboot
boot
> >> > script). Now, I cannot startup the embedded linux.
> >>
> >> You should be able to restore your Linux environment, without
reinstalling
> >> RedBoot.  Exactly what problems are you having?  Note: this is much
> > preferred
> >> to restoring WinCE as there is a chance that the unit may become
> > [temporarily]
> >> unusable if that operation fails.
> >>
> >> >     So, I wanted to restore my CE and reinstall redboot again.
However,
> > the
> >> > user guide tells me to refer to the doc in the handhelds.org which
does
> > not
> >> > apply to the redboot situation. Can anyone tell me how to restore CE
> > from
> >> > Redboot or the parrot loader?
> >>
> >> Did you make a CF backup using the Parrot loader, prior to installing
> > RedBoot?
> >> If so, just insert the CF card, press reset (or power cycle) while
holding
> >> down the "action" button (the joy pad middle button).  This will bring
up
> >> the CF restore menu which is quite automatic.
> >>
> >> If not, did you make copies of your FLASH by following the HandHelds
> > instructions?
> >> In this case, you'll have 4 data files.  You can load these using the
> > RedBoot
> >> 'load' command, either over the serial using Xmodem or via the Ethernet
> > and TFTP.
> >> The basic flow is:
> >>   1. Load & execute RAM version of RedBoot.
> >>        RedBoot> load RedBoot.RAM
> >>        RedBoot> go
> >>   2. Now load the FLASH contents.
> >>        RedBoot> load -r -b 0x00100000 flash_00000000.bin
> >>        RedBoot> load -r -b 0x00500000 flash_00400000.bin
> >>        RedBoot> load -r -b 0x00900000 flash_00800000.bin
> >>        RedBoot> load -r -b 0x00D00000 flash_00c00000.bin
> >>   3. Now the scary part - rewriting the FLASH.
> >>        RedBoot> fis unl -f 0x50000000 -l 0x01000000
> >>        RedBoot> fis wr -f 0x50000000 -l 0x01000000 -b 0x00100000
> >>        RedBoot> reset
> >>
> >> Notice: as indicated in the "how to install RedBoot" instructions, we
> > really only
> >> support the first method, i.e. using the Parrot loader.  This second
> > method will
> >> work *IF YOU FOLLOW THE DIRECTIONS*, but Red Hat cannot be responsible
if
> > there
> >> are any problems.
> >>
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]