These are the new consolidated instructions for installing bootldr via BootBlaster.
WARNING |
---|
BootBlaster versions 1.15 and beyond are safe to use with the H3800 as well the H3100/H3600/H3700. bootldr versions 2.18.01 and beyond are safe to use with the H3800 as well the H3100/H3600/H3700. These instructions have been tested on PocketPC and PocketPC2002 Installing Linux on your iPAQ will erase all data stored in DRAM or Flash ROM under Pocket PC. This includes Owner Info, Calendar, Tasks, and Programs and Files. Use the appropriate backup routines before performing this installation or you will lose data. If this installation fails then your iPAQ could become (temporarily) unusable. We try very hard to make these instructions as simple as possible given the constraints on our development resources and priorities, but there is some danger involved. Compaq Research will ensure that you do not permanently turn your iPAQ into a paperweight, but it is very inconvenient for all of us if we have to fix a unit that was rendered nonbooting by a failed installation (or WinCE restoration). The bootldr can be installed via USB cradle/cable, but installing Linux currently requires a serial cradle or cable |
If you save an image of your PocketPC software as described in the WinCE/PocketPC restoration instructions then you will be able to restore it again after installing Linux. These instructions have been tested on PocketPC and PocketPC 2002.
You can also reinstall Pocket PC from a Compaq SoftPAQ software update. See See Restoring Windows CE from the Compaq iPAQ Update for instructions. As of December 18, 2001, only PocketPC updates are available.
WARNING: Please verify the 'md5sum' of any file before using. See md5sum for pointers to md5sum executables for Windows.
Copy the "saved_bootldr.bin" off of your iPAQ and put it in a safe place in case you wish to restore it later.
Wait very patiently. This will take many minutes, but a progress bar is displayed.
From the "Flash" menu on BootBlaster, select "Program". A file dialog will open allowing you to select the bootloader to use. Select the bootloader from step #5.
Wait patiently. On my iPAQ, it takes about 15 seconds to program the bootloader. During this time, the iPAQ just sits there.
First, BootBlaster protects all the flash blocks containing PocketPC so that there is no way that an interruption in the programming process can cause the OS to be corrupted.
Sometimes BootBlaster freezes during this process. If it sits for more than 15 seconds with no activity, then reboot the iPAQ by pushing the recessed reset button at the bottom right and repeat this step. It is perfectly safe to reset the iPAQ if it freezes while protecting flash.
After protecting flash, it erases the boot sector and then it programs the new boot loader into the boot sector.
We discovered by accident that as long as PocketPC is installed in flash, it is actually safe for the process to be interrupted between erasing and programming a new bootldr. PocketPC has no dependence on any functionality in the bootldr. Please do not interrupt the iPAQ while BootBlaster is installing the bootldr, just to be on the safe side. I'm just adding this note here to reduce anxiety levels. It is not safe to erase the bootldr if Linux is installed in flash -- Linux depends on the bootldr to configure the machine before jumping to Linux
From the "Flash" menu on BootBlaster, select "Verify". If it does not say that you have a valid bootloader, do NOT reset your iPAQ (did you really want a brick?). Instead, try programming the flash again. If that doesn't work, program your flash with your saved bootloader. If that doesn't work, send e-mail to [email protected] and/or get on the IRC and ask for help. Leave the iPAQ plugged in and do NOT reset it.
That's it! OK, now take a deep breath. Assuming you had no error messages, you are past the only risky part of the install.
For this version of the bootldr: depress and hold the center of the joypad while pushing the recessed reset button.
For bootldr versions 2.17.7 to 2.17.11: depress and hold the suspend/resume button for a couple of seconds, then push the recessed reset button, then continue to hold the suspend for a couple more seconds, then release the suspend/resume button.
If the iPAQ is in a cradle, you will have to remove it to do push the reset button. The boot loader should come up and display a splash screen on the LCD unless you have an H3100. The bootldr does not support the H3100 LCD at this time.
Put the iPAQ back in the cradle. At this point, either type a space in the terminal emulator or push the calendar button on the iPAQ to get the bootldr's prompt "boot>". You will not see the boot> prompt unless you have the iPAQ attached to a host computer via either a serial cable or a serial cradle with a terminal emulator such as Hyperterminal or minicom.
BootBlaster 1.18 locks the portion of flash containing Windows CE. The pflash addr len 0 command actually unlocks all of flash. The bootldr will automatically protect itself upon boot if the bootldr sector is not locked, however you may do so manually with the command: pflash 0x0 0x3ffff 1.
Bootldr 2.18.54 has been "fixed" to boot WinCE correctly without losing the contents of DRAM after a reset. As a result of this change, you will NOT see the bootldr splash screen at boot time. At startup the bootldr scans for a valid WinCE partition....if it finds one, it runs WinCE immediately. Hence you don't see the happy penguin.
This is a Fundamental Change in Behavior that may Cause Much Confusion
When running WinCE, to bring up the penguin bootscreen and to use the serial line to control the bootloader, you must hold down the ACTION key as you push the little reset button. The ACTION key is the center of the joypad---just squish it down and hit reset. Now you can proceed to install Linux and the bootloader will behave as it has always done.
If you are running bootldr versions 2.17.7 to 2.17.11/b>, then instead of holding down the action button, depress and hold the suspend/resume button for a couple of seconds, then push the recessed reset button, then continue to hold the suspend for a couple more seconds, then release the suspend/resume button.
Why, may you ask, does the bootloader behave in this strange way under WinCE? Well, WinCE stores lots of stuff in DRAM include user software, the registry, user data; quite a lot, really. On a machine with only 16M of DRAM it can fill up very quickly. Our bootloader needs to be very careful about what memory it uses so that it doesn't accidentally trash the DRAM. We think we have a safe space, but things change between different models, languages, and os versions, so we're being careful. The auto-boot WinCE code is careful to not touch DRAM, so we know we won't damage your data. Holding down the ACTION key is your way of telling the bootloader that it should go ahead and use a chunk of DRAM for its own purposes.
The Linux bootloader has the ability to upload the contents of your Flash file system. From the boot prompt, type:
upload flash 0x40000 0x1fc0000 (for a unit with 32MB of flash) upload flash 0x40000 0xfc0000 (for a unit with 16MB of flash)
The bootloader occupies the space from 0
to 0x40000
, so what you are saying is to upload the remainder of your iPAQ (which should be your entire WinCE image). The bootloader uploads in XModem protocol. NOTE: This upload command is finicky. You are advised to test your saved WinCE image. It may also help to upload in pieces and stitch together the final file.
If you have any problems, please post to one of the following lists:
General problems with setup, installation, user-land software or configuration: [email protected].
Issues believed to be related to the kernel: [email protected].
Thank you.
Modified $Date: 2002/10/24 20:48:59 $ by $Author: nelson $
Please send comments on this document to the bootldr mailing list ([email protected]).