Installing LINUX on iPAQ H3600

Installing Familiar v0.5
Configuring IPKG and WGET to use a proxy/firewall
Getting X up & running
Is that supposed to be a font??!!
Using a CF card for storage
Using VIC


First of all check out for the latest info on installing LINUX, it's got all the details on the latest distributions, news, links and some useful Howto's. To install LINUX on your iPAQ you'll need a serial cable, a PC (these instructions assume Windows 9x,NT,2000 etc) with ActiveSync, and lots of patience.

Initially you should probably back up your current Windows CE installation -  I've seen people with WinCE ROM images linked on their sites, though I'm not sure about the legality of this. The page here gives good instructions on what you need to do, you should end up with 4 .BIN files, instructions on how to restore WinCE are detailed here (just in case you're getting nervous already!).

Regardless of the distribution to be used, you'll need to install a bootloader and some incarnation of Familiar. I recommend using the 0.5 version of Familiar, it's still pre-release at the moment (the moment being Oct 2001), though it worked fine and found my WaveLAN card straight off. To install 0.5 version you'll need version 2.15.15 (or higher) of the CRL/OHH boot loader, instructions and links to all the appropriate files are here. Instructions for the 0.4 version are here, it's supposed to be more stable, and support your Targus stowaway keyboard (which 0.5 won't) though It doesn't support dual PC-card jackets, and wouldn't even recognise my single PC-card jacket.

The only scary bit is installing the boot loader - this is the only step that can turn your iPAQ into a paperweight. Though as long as your iPAQ has got a good power source & you don't reset it during the 5 minute XMODEM download it should be fine (note the emphasis on 'should'). Apparently Compaq Research will fix your iPAQ if it does die, so don't worry too much.

Installing Familiar v0.5

0. Read all the installing LINUX on iPAQ instructions you can find (or at least the ones here and here) before you begin, if you don't understand any of the steps e-mail someone else that's done it before (or even me) for help.

1. Download and install md5sum from here.

2. Follow the instructions here to back up your current WinCE installation, if you want to make sure everything was saved correctly you can compare your md5sum results with those listed here.

3. Install the CRL/OHH bootloader, you need version 2.15.15 (md5sum) or higher - so you can follow on the instructions from the last step, though make sure you use bootloader 2.15.15 instead of version 2.14.15 mentioned in the instructions.

4. If the last step went OK then you've got LINUX on your iPAQ! (well, as good as) If not then follow then refer back to the  instructions on what to do.

5. You can now follow Familiars own v0.5 install instructions (here). I recommend installing the basic version of the kernel then adding packages as you need them - my 64MB iPAQ seems to run out of memory quite quickly.

Configuring IPKG and WGET to use a proxy/firewall

The nify thing about Familiar is that all practically everything you need is already available in packages, these are effortlessly downloaded and installed using iPKG - the Itsy Package Management System. To install a package just type 'ipkg install <package name>', you should type 'ipkg update' to get the latest list of available packages, then 'ipkg list' to see a list of all packages with a brief description. You probably already know about iPKG if you read the 0.5 install instructions. To download iPKG packages to your iPAQ need a network connection (by default the packages are installed from though this could easily be changed to an Intranet/local web server if necessary) if you haven't got WaveLAN or Ethernet connectivity there are instructions on using PPP on the HandheldsWiki. If, like me, you have to use a proxy to get out onto the Internet you'll obviously have to configure iPKG to use it.

iPKG uses a configuration file stored in /etc/ipkg.conf if you edit that file (vi comes pre-installed with the familiar base installation) and look a the section titled 'Proxy Support' you'll see 4 lines for configuring the http proxy, ftp proxy, proxy username and password. Just uncomment the lines you need by removing the '#' at the start of the line and entering the appropriate address:port.

An alternative to this is copying all the packages to a local web server. If you edit the /etc/ipkg.conf files you'll see a line starting src just ftp to this address and copy all the files to a directory on a local web server. Once this is done just change the source-url address (the one starting http://....) to point to this directory.

When you start installing packages iPKG will probably start whinging about timestamps being in the future, to fix this you can either install the familiar-postinst package (if you can get to an NTP server) or use the date command: 'date MMDDhhmmCCYY[.ss]' e.g. 'date 101711542001' for 11:56 on 15/10/2001.

WGet is a useful utility to download files from ftp or http servers, to configure this to use a proxy you have to add a .wgetrc file to your home directory, /root in the case of familiar as you can't really add more users. In this file you'll need the lines:

http_proxy = myproxy:port
ftp_proxy = myproxy:port
proxy = on
proxy_user = myusername
proxy_passwd = mypassword

Getting X up & running

You'll need to install several packages to get a useable install of X, to start with I recommend:

task-x - Stuff you need for a working X-Server and clients.
xcalibrate - Utility to calibrate the screen on your iPAQ (don't forget to save the setting after calibration)
gtk-menu - Mini menu system.
gtk-theme-thingreeber - Theme to improve the appearance of gtk-menu
xkbd - Mini on-screen keyboard.
apmd - Power management utilities (so you can put your iPAQ into suspend mode)
dillo - Mini web-browser, you can only browse local files at the moment but it looks promising.

To update gtk-menu after you've installed new software issue the command 'update-menus'. You'll probably also want these extra packages for a bit more functionality:

ftp - Fully ftp client.
less - A simple command line text file viewing program similar to more.

Is that supposed to be a font??!!

In the standard X install the fonts are poor, if you install the familiar-postinst package this will set the time using NTP and download a couple of nice TT fonts from Microsoft. This wouldn't work for me as the script quit after it couldn't find the NTP server (being behind a firewall & not having a local NTP server), so, not caring too much about setting the time I did this:

Use WGet (you'll need WGet working to finish this process), or perform an ZMODEM upload of the file:
Uncompress it using 'tar zxf postinst-kit.tar.gz' change to the 'postinst-kit' directory and edit the file 'kickOff' so the line
STEPS="setDate grabFonts" reads STEPS="grabFonts"
You can now run the kickOff script to download & install the fonts.

Using a CF card for storage

Familiar 0.5 detected my CF straight away, though it did print an error to the console on detection './ide: /sbin/ide_info: not found' I tracked down a version of ide_info compiled for the StrongARM (available here) and installed it, though it still complains of 'hda: bad special flag: 0x03'. Though I can still mount & use the device perfectly well with or without ide_info, so either error is nothing to worry about

I use FAT as the file system on on my CF card, and the 1st partition is /dev/hda1. So I can do:

mount -t vfat /dev/hda1 /mnt/hda

You can add this info to /etc/fstab though it can't be mounted till runlevel 2, after the PCMCIA services have been started.