Handhelds.org splash banner Handhelds.org logo by Chrysovalandes Sophocleous

Installing bootloader using ftpd

  • Go fetch the ftpsvr.
  • Unpack the zip file.
  • Put ftpsvr.exe on a local webserver.
  • Using an Ethernet card, or 802.11B card, or modem, gain access to the Internet. The Pocket PC documentation tells you how to accomplish this step.
  • Start Pocket IE.
  • Give it the URL for ftpsvr.exe.
  • It will download and run ftpsvr.
  • Ftpsvr will not display anything!
  • Switch to the directory containing the fileset you downloaded earlier.
  • Run your local ftp client and open a session with your iPAQ.
  • Any username and password will be accepted. Yes, zero security.
  • Ftpsvr does not accept passive connections. Your ftp client may default to passive or active. You should set passive off. Enter the 'passive' command. If it says "Passive mode on" then enter the passive command again.
  • Enter the 'binary' command.
  • Enter 'put bootldr-sa-2.21.12.bin.gz "/My Documents/bootldr.bin"'
  • Enter 'put BootBlaster_1.19.exe "/Windows/Start Menu/Programs/Bootblaster.exe'
  • You now have BootBlaster and bootldr on your iPAQ. Don't quit out of the ftp session.
  • Now, on the iPAQ, run BootBlaster. It's on the Start Menu under Programs.
  • BootBlaster will start up and display "Idle...".

  • Save your PocketPC image for later restoration, if desired.
    1. Execute "Flash -> Save Bootldr .gz Format" in BootBlaster to save the bootloader in file "\My Documents\saved_bootldr.gz" on the iPAQ.

      Note that the Linux Bootloader will also boot PocketPC, so restoration of this file is not generally required. Right at the moment, there is a bug in the Linux Bootloader which causes PocketPC to reinitialize itself every few boots. You may indeed wish to keep and restore this bootloader if you restore PocketPC.


    2. Execute "Flash -> Save Wince .gz Format" in BootBlaster to save the PocketPC image in file "\My Documents\wince_image.gz" on the iPAQ. This takes two to three minutes.


    If no backup of Pocket PC is desired, you can skip this step entirely.

    Note that this procedure saves your bootloader and Pocket PC executable image: it does not preserve any data you may have entered in your iPAQ under Pocket PC. So also synchronize your iPAQ to your host to preserve this data. Note that Familiar does not *yet* have any way to resynchronize this data to Linux (we hope/expect to have Linux<->Host synchronization in a near future release).

  • Return to your desktop's ftp client.
  • Enter 'get "\My Documents\saved_bootldr.gz" saved_bootldr.gz'
  • Enter 'get "\My Documents\wince_image.gz" wince_image.gz'
  • Enter 'quit'
  • Install the bootloader.

    Before continuing, be sure that the iPAQ is plugged into external power, and that the battery is charged, to protect against the small chance of power failure during the very limited period the iPAQ is reprogramming the bootloader flash. Do NOT touch the power button or reset button on your iPAQ until you have performed the "Verify" step below.

    From the "Flash" menu on BootBlaster, select "Program".

    A file dialog will open allowing you to select the bootloader to use. Select bootldr.bin.gz, which may have a version number embedded in it. We use a gzip file because it has an internal checksum.

    Wait patiently. It takes about 15 seconds to program the bootloader. Do not interrupt this process, or the iPAQ may be left in an unusable state.

    From the "Flash" menu on BootBlaster, select "Verify".

    1. If it does not say that you have a valid bootloader, do NOT reset your iPAQ, do NOT turn off your iPAQ.
    2. Instead, try programming the flash again.
    3. If that doesn't work, program your flash with your saved bootloader.
    4. 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 or turn it off.

    If everything has gone well, you have successfully installed the CRL bootldr program, which can run either Linux or PocketPC. As yet, your PocketPC image is intact and should restart normally; the next step actually installs Linux (overwriting Pocket PC).

Here's what your session might look like:
	Connected to 65.172.240.59 (65.172.240.59).
	220 FtpSvr (Version 0.06).
	Name (65.172.240.59:nelson): a
	331 Password required for a.
	Password:
	230 User a logged in.
	ftp> bin
	200 Type set to I
	ftp> passive
	Passive mode off.
	ftp> put bootldr-sa-2.21.12.bin.bin "/My Documents/bootldr.bin"
	local: bootldr-sa-2.21.12.bin remote: /My Documents/bootldr.bin
	200 PORT command successful.
	150 Opening BINARY mode data connection for \My Documents\bootldr.bin.
	226 Transfer complete.
	237696 bytes sent in 1.05 secs (2.2e+02 Kbytes/sec)
	ftp> put BootBlaster_1.19.exe "/Windows/Start Menu/Programs/Bootblaster.exe"
	local: BootBlaster_1.19.exe remote: /Windows/Start Menu/Programs/Bootblaster.exe
	200 PORT command successful.
	150 Opening BINARY mode data connection for \Windows\Start Menu\Programs\Bootblaster.exe.
	226 Transfer complete.
	117248 bytes sent in 0.446 secs (2.6e+02 Kbytes/sec)
	ftp> get "\My Documents\saved_bootldr.gz" saved_bootldr.gz
	local: saved_bootldr.gz remote: \My Documents\saved_bootldr.gz
	200 PORT command successful.
	150 Opening BINARY mode data connection for \My Documents\saved_bootldr.gz(116176 bytes).
	226 Transfer complete.
	116176 bytes received in 0.847 secs (1.3e+02 Kbytes/sec)
	ftp> get "\My Documents\wince_image.gz" wince_image.gz
	local: wince_image.gz remote: \My Documents\wince_image.gz
	200 PORT command successful.
	150 Opening BINARY mode data connection for \My Documents\wince_image.gz(14128724 bytes).
	226 Transfer complete.
	14128724 bytes received in 113 secs (1.2e+02 Kbytes/sec)
	ftp> quit
	221 Goodbye

Continue with one of these installation steps:


$Id: bootldr-ftpd.html,v 1.3 2003/11/13 21:25:12 nelson Exp $