From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Wong Yee Peng" To: "Gary Thomas" Cc: Subject: Re: [ECOS] How do I restore WinCE image? Date: Sun, 19 Aug 2001 19:17:00 -0000 Message-id: <000f01c1291e$4f89e780$145ea8c0@mospeada> References: X-SW-Source: 2001-08/msg00646.html 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" To: "Wong Yee Peng" Cc: 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" > > To: "Wong Yee Peng" > > Cc: > > 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. > >> >