Installing Linux on the Compaq iPAQ with Windows CE

The Compaq iPAQ comes with Windows CE installed. To run Nano-X, you need to install Linux and the Nano-X applications. You might also want to save the Windows CE installation in case you want to restore Windows CE to your iPAQ.

By following these instructions, you will install Linux on a Compaq iPAQ H3600. (These instructions provide a customized version of the instructions provided by Handhelds.org. See iPAQ H3600 Linux Installation Instructions.)

  • Although this procedure does save the Windows CE operating system originally installed on the iPAQ, you may not be able to restore Windows CE after installing Linux.

  • Improper installation of Linux could render your iPAQ unusable. Follow all instructions exactly as shown.

Preparation

You must install Linux from a computer running Windows 95/98/2000/NT. You must also have a terminal emulation program that supports XModem file transfers.

  1. Load the following files from the iPAQ SDK onto the Windows computer:

    bootldr-0000-2.9.5
    bootldr-c002-2.9.5
    init.cramfs
    root.cramfs
    OSloader-1.3.0.exe
    usr.cramfs
    kernel-2.4.0-test17

  2. Install Mircosoft ActiveSync on your Windows computer.

  3. Connect the iPAQ to the Windows computer using a serial (not USB) cable.

  4. Configure the iPAQ to use the serial port for ActiveSync:

    1. From the Start menu, select Settings.

    2. Click the Connections tab.

    3. Double-click the PC icon.

    4. Change USB to 115200 Default.

    5. Click OK (on the top right corner of the screen).

  5. Use ActiveSync on the Windows computer to connect to the iPAQ and copy the following file to the iPAQ's root directory:

    OSloader-1.3.0.exe
    bootldr-c002-2.9.5

    Note: The iPAQ root directory is named "My PocketPC".

  6. Rename bootldr-c002-2.9.5 to bootldr.

Backup Windows CE

  1. On the iPAQ, launch the OSloader-1.3.0 program.

  2. On the Tools menu, click Flash, and then click Save to files.

    The OSloader copies the flash ROM into four files (flash_00000000.bin, flash_00400000.bin, flash_00800000.bin, and flash_00c00000.bin). The iPAQ does not respond until the OSloader has the first file ready.

  3. On the Windows computer, copy the completed file from the iPAQ to the local hard drive.

  4. Delete the file from the iPAQ to make room for the next file.

  5. On the iPAQ, click OK to have the OSloader create the next file.

  6. Repeat steps 3, 4, and 5 until you have copied all four files to the Windows computer's local hard drive.

  7. On the Windows computer, close the ActiveSync program and set ActiveSync to ignore the serial port:

    1. In the system tray, click the ActiveSync icon.

    2. Click Connection Settings.

    3. Uncheck Allow serial cable or infrared connection to this COM port.

    4. Click OK.

Install Bootldr

  1. On the iPAQ (still running the OSloader program), click the Tools menu, click Bootldr, and click Run after loading from file.

    The iPAQ screen goes blank.

  2. Run your terminal emulation program and set up a connection to the serial port connected to the iPAQ with the following settings:

    ParamterValue
    Connection Speed115200
    Bits8
    ParityNone
    Stop Bits1
    Flow ControlNone

  3. In your terminal emulator, press Enter.

    You see a boot> prompt. You can type help at the boot> prompt to get a list of valid commands.

  4. At the prompt, enter 'load bootldr' and use XModem to send bootldr-0000-2.9.5 to the iPAQ.

    When the transfer ends, you see the iPAQ load the new bootldr into the Flash ROM.

  5. Restart the iPAQ by toggling the power switch at the bottom right corner of your iPAQ or by pressing the reset button on the bottom right corner of the iPAQ.

    Note: The power button on the top right corner of the iPAQ does not restart the iPAQ. In fact, the current open source kernel does not make use of the power button. To turn off your iPAQ, use the power button behind the door at the bottom right corner of your iPAQ.

    You see the Compaq OHH BootLoader message. You can ignore the "Corrupt kernel" message -- you haven't loaded the Linux kernel yet.

Install the Linux Kernel

Continue using your terminal emulator to load the Linux kernel files. Because of the limitations of the XModem protocol, you can expect somewhat long transfer times for the following procedures. Expect the installation to take 30 minutes to an hour. After loading each file, you will see the bootldr program erase the flash, write the new data, and verify the flash ROM.

  1. At the prompt, enter 'load kernel' and use XModem to send kernel-2.4.0-test17 to the iPAQ.

  2. At the prompt, enter 'load flash 0x100000' and use XModem to send init.cramfs to the iPAQ.

  3. At the prompt, enter 'load flash 0x200000' and use XModem to send root.cramfs to the iPAQ.

  4. At the prompt, enter 'load flash 0x500000' and use XModem to send usr.cramfs to the iPAQ.

  5. At the prompt, enter the following series of commands:

    set linuxargs "noinitrd root=/dev/flash4 init=/linuxrc console=0"
    set copy_ramdisk 0x0
    set baudrate 115200
    params save
    boot
  6. At the login: prompt, enter 'root'.

    Note: You should also note that flash ROMs have a physical limitation of about 100,000 writes per sector before the ROM could fail.