iPaq H3100/H3600/H3700/H3800 Handhelds.org Bootloader Installation Instructions

These are the new consolidated instructions for installing bootldr via BootBlaster.
Here are the old instructions for installing the bootldr via osloader.

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. 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

PocketPC Restoration

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.

Hardware Requirements:

Notes and Recommendations

Installation:

  1. Connect your iPAQ via the USB or serial cradle or cable.
  2. If using a serial cradle or cable, then configure your iPAQ to use the serial port for ActiveSync.
  3. Use the ActiveSync application to connect to your iPaq 3600 from your PC. If there is not an ActiveSync icon in the tool tray, then use the Start->Program->ActiveSync menu item to start it.
  4. Copy BootBlaster_1.18.exe to the default folder on your iPaq from your Windows machine using drag and drop or cut and paste. You may safely ignore any messages that say it "may need to convert" file formats.
  5. Copy bootldr-2.18.01.bin to the default folder on your iPaq from your Windows machine. Again, You may safely ignore any messages that say it "may need to convert" file formats.
  6. On your iPaq H3600, find BootBlaster_1.18.exe wherever you put it, and then execute BootBlaster_1.18.
  7. Backing Up PocketPC

  8. From the "Flash" menu, select "Save". This will save a copy of your current bootloader to DRAM on the iPAQ (under the name "saved_bootldr.bin").

  9. Copy the "saved_bootldr.bin" off of your iPAQ and put it in a safe place in case you wish to restore it later.

  10. From the "Flash menu, select Save Windows gz This will copy and compress all the flash ROM on your ipaq into a .gz file along with a file containing the asset information from your iPAQ. This will take a while. After it is complete, copy these files to your PC to save them. Under normal circumstances, installing Linux will not touch the asset partition in flash, but it is safer to have a backup copy.

    Wait very patientlyThis will take many minutes, but a progress bar is displayed.

    Installing the Bootldr

  11. 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.

  12. 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

  13. Check the Install

  14. 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 bootldr@handhelds.org and/or get on the IRC and ask for help. Leave the iPAQ plugged in and do NOT reset it.

  15. 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.

    Reboot the iPAQ

    When the iPAQ is reset, by default, it will boot Windows CE if present.
  16. Before proceeding, make sure that you have the terminal emulator properly configured: If flow control is enabled, the terminal emulator will not accept keyboard input.
  17. To get to the bootldr's command line prompt (boot>) and avoid booting Windows CE:

    For bootldr versions 2.17.12 or newer or 2.17.6 or older: 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.

  18. Reboot your iPaq H3600 by pushing the recessed reset button at the lower right of the unit while holding the center of the joypad.

    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.

  19. Before proceeding to Linux installation, unlock flash with this command: pflash 0x40000 0xffff 0 by typing it at the boot prompt.

    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.

The Installation is Complete!

Congratulations! At this point you have a working bootloader and you are ready to install a Linux distribution. The latest Linux distribution for the iPAQ H3600 series is available at http://familiar.handhelds.org and can be installed using the instructions at http://familiar.handhelds.org/familiar/releases/latest/install/H3600/install.html. The older Handhelds.org Linux Distribution which was last updated in March of 2001 and is not likely to see any further updates can be installed by following the instructions at update.html. All future effort will be directed towards building the Familiar Distribution.

Getting to the Bootldr Prompt


BootBlaster Related Notes

Question: WHERE IS MY PENGUIN??? WHY DO I STILL SEE THE WINCE SPLASH SCREEN?

Bootldr 2.18.01 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.

Question: I'm about to install Linux --- how can I save my WinCE image?

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: ipaq@handhelds.org.

Issues believed to be related to the kernel: ipaq@handhelds.org.

Thank you.

Modified $Date: 2002/04/04 23:26:44 $ by $Author: jamey $

Please send comments on this document to the bootldr mailing list (bootldr@compaq.com).