# iPAQ H3600 Linux Update Instructions - v0.20

## WARNINGS:

- ### If this installation fails then your iPAQ could become (temporarily) unusable.

  This version is very unlikely to result in an installation failure. We are trying very hard to make this procedure bullet proof, and we think we're there with the boot loader. The boot loader can not be overwritten by accident; it does an end to end checksum before writing flash, and short of losing power during the actual writing of flash memory, an unlikely scenario, is believed bullet proof. Some additionial bug is certainly possible, but we think it is unlikely. If you have not upgraded your boot load to version 2.14.5 or later, please do so immediately. (See Updating the bootldr.)

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

- ## Errata

  - Some web browser's default download settings is 'ASCII' mode instead of 'binary' mode, this will make the downloaded files corrupt. For example, Netscape requires that you hold down the shift key when you click on an item for downloading in 'binary' mode.

    WARNING: Please verify the 'md5sum' of any file before using.

  - Unless you really really know what you are doing, do not mix kernels, ramdisk and cramfs files from different V0.?? releases. Each version can have different memory mappings.

### Requirements:

- An iPAQ handheld with the bootldr already installed (see install.html).
- A computer that runs Linux or Windows 95/98/2000/NT. A few people have installed Linux on the iPAQ using a Linux computer. There are Linux conectivity instructions at http://www.handhelds.org/minihowto/wince-link/index.html and http://www.handhelds.org/pipermail/ipaq/2000-Auguest/000061.html
  - You will be using HyperTerminal (or other terminal emulator capable of the xmodem protocol, such as minicom on Linux.
- The following files from /pub/linux/compaq/ipaq/v0.20:
  - bootldr-0000-2.14.5
  - params-v20.bin
  - params-v20.bin.md5sum
  - init-2-70.cramfs
  - init-2-70.cramfs.md5sum
  - root-2-57.cramfs
  - root-2-57.cramfs.md5sum
  - usr-2-61.cramfs
  - usr-2-61.cramfs.md5sum
  - zImage-2.4.0-rmk2-np1-hh1
  - zImage-2.4.0-rmk2-np1-hh1.md5sum
  - bootldr-0000-2.14.5.md5sum

- iPAQ H3600 with a serial cable (USB is NOT supported at this time). For those of you that can not wait for a serial cable (they are now often in stock at various distributors if you look around for them), Peter Monta has instructions for a home made cable which invalidates the warrenty on the base station at http://www.handhelds.org/pipermail/ipaq/2000-Auguest/000061.html

### Preparation:

1. Plug your iPAQ into the serial port of your Windows machine using a serial cable.
2. Run your terminal emulator on whatever machine can talk to your serial port with the settings of: 115200 8N1 (115200 baud, 8 bits, No Parity, 1 stop bit) and Flow control: 'None'.
3. While booting the iPAQ, in your terminal emulator, hit the space key on your keyboard on your machine: you should see a 'boot>' prompt. You can type 'help' at the bootloader at the 'boot>' prompt to get a list of commands.

### Updating the Bootldr

If you are not running bootldr 2.14.5, then please update at this point. These instructions depend on the use of bootldr 2.14.5.

1. This one step is dangerous: do so with the unit under AC power (so that even if your battery happened to fail that instant, it wouldn't matter). At the 'boot>' prompt, type 'load bootldr', then start an xmodem download of the file bootldr-0000-2.14.5. A bootldr tarball corresponding exactly to these boot loader bits is available. Note this is a new version of the bootloader, which should work better with some xmodem implentations and worth updating.
2. Your iPAQ will say "verifying ... done.". The loader program has a simple sanity check in it (it verifies a checksum contained in the bootldr file) to ensure that only a bootloader can get installed into flash at the iPAQ's bootloader's address.
3. Be paranoid. Make sure the bootldr flash sector is protected. If the the bootldr is protected, then
   - `qflash 2`
   will print `00010001`.

Otherwise, protect the flash sector manually.

- `pflash 0 0xffff 1`

4. Now type the reset command or push the recessed reset button at the lower right of the iPAQ to restart it into the new bootldr.

### Updating Linux

1. At the 'boot>' prompt, type 'load params', then start an xmodem download of the file params-v20.bin. When finished with the download, you will see "Erasing, Writing, Verifying flash" messages.
2. At the 'boot>' prompt, type 'load kernel', then start an xmodem download of the file zImage-2.4.0-rmk2-np1-hh1. When finished with the download, you will see "Erasing, Writing, Verifying flash" messages. A kernel tarball corresponding exactly to these kernel bits is available.
3. At the 'boot>' prompt, type 'load init', then start an xmodem download of the file init-2-70.cramfs. This takes approximately 2 minutes. When finished with the download, you will see "Erasing, Writing, Verifying flash" messages.
4. At the 'boot>' prompt, type 'load root', then start an xmodem download of the file root-2-57.cramfs. This takes approximately 5 minutes. When finished with the download, you will see "Erasing, Writing, Verifying flash" messages.
5. At the 'boot>' prompt, type 'load usr', then start an xmodem download of the file usr-2-61.cramfs. This takes approximately 10 minutes. When finished with the download, you will see "Erasing, Writing, Verifying flash" messages.
6. At the 'boot>' prompt, type 'eflash usrlocal'.
7. At the 'boot>' prompt, type 'boot'.
8. At the (none) login: prompt, type 'root'
9. At the prompt, type 'mkfs -t ext2 /dev/mtdblock6'
10. At the prompt, type 'mount /usr/local'. This will allow you to use /dev/mtdblock6 as /usr/local for persistent storage. Please note that you may only make one hundred thousand (100,000) writes to a particular sector of flash.

Congratulations! You should be up and running.

Note: if you need to get back into the boot loader after you have Linux running, restart the iPAQ and quickly hit the space bar a few times during the boot process. You can restart the iPAQ with the Linux command shutdown -r now.

If you have any problems, please post to one of the followig lists:

General problems with setup, installation, user-land software or configuration: ipaq@handhelds.org.

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

Thank you.

Modified Friday May 11th, 2001

Please send comments on this document to Jamey Hicks (jamey.hicks@compaq.com).