iPAQ PocketPC (WinCE) Restoration Project
- Backing Up PocketPC ROM Image Before Installing Linux
- Perform this step before installing Linux on
the iPAQ
- Restoring PocketPC from wince_image.gz
- Use this method if you used BootBlaster to create a wince_image.gz
backup of your PocketPC ROM
- Verifying the PocketPC Restoration
- It is strongly advised to verify that PocketPC was correctly restored
- Restoring the Original Firmware
- This step, which is an optional part of the
restoration process, describes how to reinstall the original firmware.
- Verifying the flash_00x00000.bin files
- This step applies only if you used the old osloader to
save a copy of wince on an h3600.
- Restoring PocketPC on the H3900 and H5400
- See the note on the ipaq mailing list.
Backing Up PocketPC ROM Image Before Installing Linux
Follow the Backing
Up PocketPC step from the bootldr installation instructions
Please do not skip this step before installing Linux.
It is much easier to restore from your own backup images than to have to rely on someone else
having just the right one for your device (and one that isn't corrupted). Make the backup
and keep it in a safe place.
Verifying wince_image.gz
To verify that a wince_image.gz is uncorrupted:
gzip -tv wince_image.gz
Note that no md5sum is necessary for a
wince_image.gz file because the compressed file includes a
good CRC that the bootldr uses to verify the file contents beforing
writing to flash.
Restoring PocketPC from wince_image.gz
Reboot the iPAQ, and quickly hit the space bar a few times during
the boot process to get a 'boot>' prompt.. You can
restart the iPAQ with the Linux command shutdown -r now.
Warning: Please carefully read the messages
produced by the following commands. Should you receive an error
message of any kind, DO NOT PROCEED. Please send a
message to ipaq@handhelds.org
or france@handhelds.org.
Make sure the ipaq has bootldr 2.18.01 or greater installed
on it before proceeding with these instructions. It is available at one of the following locations:
Compaq CRL (Cambridge Research Lab) will fix any units that fail to
restore properly, but we would like to avoid problems rather than
correcting them afterwards.
At the 'boot>' prompt type:
- load root
then start the xmodem transfer of the file
wince_image.gz from the host to the iPAQ.
- At this point, '
boot wince' will boot PocketPC. It will
also autoboot on reset unless you hold the center of the joypad
while pushing the recessed reset button.
- If you get:
boot> boot wince
booting wince...
Disabling LCD controller
and then nothing, and pushing the reset button does not help, then
use the sliding hard reset switch to disable power for
several minutes.
Now proceed to the Verifying
the PocketPC Restoration step.
Verifying the PocketPC Restoration
How do I know that PocketPC was restored
correctly?
- Push the Q button.
- Select the QUtilities
- tap the 'Self Test' tab on the bottom of the
screen
- verify that the box beside 'ROM checksum' is
checked
- tap the 'Next' button
- check the 'Perform automatic Reset' before test
box.
- tap the 'Start' button.
- answer the test questions
- verify that the 'ROM checksum' test == 'pass'.
If this test passed then you have successfully restored PocketPC.
Reloading the original (parrot) firmware
The bootldr will boot PocketPC automatically, so this step
is not required.
If you desire, you may reload the original parrot firmware as follows:
- Verify that PocketPC boots!
- On the linux host: dd if=flash_00000000.bin of=parrot.bin bs=1k count=256
- The file should be 262,144 bytes.
- At the bootldr prompt:
load bootldr
and xmodem transfer the parrot.bin file.
As of version 2.16.16, the 'load bootldr' command will load either a CRL bootldr or a Parrot bootldr.
Verifying the flash_00x00000.bin files
This is not needed if PocketPC was saved to a
wince_image.gz file because the compressed file includes a CRC.
H3100 Series English Language, provided by David Neuer on a 3150
and confirmed by Paul
Bickford on a 3135.
- md5sum flash_00000000.bin
result == a97e8d807395ee2aef19fc4196baeaf2 flash_00000000.bin
- md5sum flash_00400000.bin
result == 6454107ca25bd23397fbe86891c18eb7
flash_00400000.bin
- md5sum flash_00800000.bin
result == 043e19e42dce1eece570141eae4f25ad
flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == f11957f717c915a777c5e13c0cac4864
flash_00c00000.bin
English Language version 1.77.00, provided by Joseph J. McCarthy on June
26, 2001.
- md5sum flash_00000000.bin
result == 2ca24741f229aeadb14dd6decda5d705 flash_00000000.bin
- md5sum flash_00400000.bin
result == bd0c962f8ac8d9b6abf4aa1db1e62bc3 flash_00400000.bin
- md5sum flash_00800000.bin
result == 9aabd63eba397395e466e1a2fdd246c2 flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == 5d4aa92320ccd5b251a07fdf20d940df flash_00c00000.bin
English Language Distribution (3.0.9348) -- provided by Geoff Hoff and Torquil Gault and one
other:
- md5sum flash_00000000.bin
result == e729f74d5ec89b4c0888444d2bf2a204 flash_00000000.bin
- md5sum flash_00400000.bin
result == 56c22ec2a4c4e49ab7fed81c81e28f7a flash_00400000.bin
- md5sum flash_00800000.bin
result == 471b67d2a5f0585478633ef12899582b flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == c8fb012788d31cb03972762ec2f6d586 flash_00c00000.bin
English Language Distribution (3.0.9348) -- provided by Goetz Bock:
- md5sum flash_00000000.bin
result == d011e84427def3af9eabaa4c9959c785 flash_00000000.bin
- md5sum flash_00400000.bin
result == 56c22ec2a4c4e49ab7fed81c81e28f7a flash_00400000.bin
- md5sum flash_00800000.bin
result == f2a35dfd90584d9801f970864396fedc flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == 7c1deb803b30ad31de4025fb1e4e9902 flash_00c00000.bin
Original English Language Distribution:
- md5sum flash_00000000.bin
result == 19048543fda719a9bcb6286c482d33fe flash_00000000.bin
- md5sum flash_00400000.bin
result == ac231b93e9f87cec278a10749db71679 flash_00400000.bin
- md5sum flash_00800000.bin
result == 8d86a064b7c7a9e561212226a4f1f870 flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == a1997ee7b898044b8d138e8bd0e19439 -
French Language Distribution - provided by Lionel Ulmer:
- md5sum flash_00000000.bin
result == 6f04a05750082ac8f51929e6e31be24d
flash_00000000.bin
- md5sum flash_00400000.bin
result == b77a8d21606a6ade64400085017bbb48 flash_00400000.bin
- md5sum flash_00800000.bin
result == 47b4be1d434b126361fbe46f6186f796
flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == dcee91b882c8e85a4721b23233603485 -
German Language Distribution - provided by Jörn Eyrich:
- md5sum flash_00000000.bin
result == 065f9fc89031a313c922213850f93fd6 flash_00000000.bin
- md5sum flash_00400000.bin
result == 81d0c22823f1c767bbda5b49ff7db585 flash_00400000.bin
- md5sum flash_00800000.bin
result == cb922a93a45fa27c8e19cb9b9df71526 flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == 559d7c2134ab17241328cba29b0ed183 -
Dutch Language Distribution - provided by Kero van Gelder:
- md5sum flash_00000000.bin
result == a725655cf47bbff04a25df3e433548b1 flash_00000000.bin
- md5sum flash_00400000.bin
result == 2f5f56d9a7aa032a31c39d1a9c91e783 flash_00400000.bin
- md5sum flash_00800000.bin
result == 7e60ca1fa5985a64689ec0047368a862 flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == 11505fb722955cee335402de8c08f227 -
Italian Language Distribution - provided by Ing. Marcello
Giustiniani
- md5sum flash_00000000.bin
result == 3456aa1cdc118f917c9c60984d7bde9f flash_00000000.bin
- md5sum flash_00400000.bin
result == 4fef6dd723ccec7cac18bef53cf11b88 flash_00400000.bin
- md5sum flash_00800000.bin
result == 412d1d7c5177c484d1c996853fdc7035 flash_00800000.bin
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == d7aa682bb6b204546164d07d5730c4ce -
Spanish WinCE 3.0.9348 that came with my iPAQ H3660 - provide by
Robert Millan
- md5sum flash_00000000.bin
result == 25398ca611f9a930a7d8d6bfa19739ec
- md5sum flash_00400000.bin
result == 172ec2f7e5beaa400bf1e7a6f88796e6
- md5sum flash_00800000.bin
result == c80d8b7031bf78156171424cabf589c3
- dd if=flash_00c00000.bin bs=1024 count=3584 | md5sum
result == 37d93f8c3ef1496a5abc38d8dfb63a8f
You must use dd on the last file because it appears that PocketPC
uses the last 1/2MB of the file to store data. This data will be
different for every unit depending upon how the unit was used before
the OSloader program was executed.
Restoring PocketPC on the H3900 and H5400
See this thread on the ipaq mailing list.
Questions?
Please post any questions to
ipaq@handhelds.org.
Have fun,
--George
Modified $Date: 2005/04/09 04:40:25 $ by $Author: paule $
Please send comments on this document to the bootldr mailing list (bootldr@handhelds.org)
|