Linux on the Ipaq HX4700

From IKE
Revision as of 16:54, 29 October 2005 by Tarek (talk | contribs)
Jump to: navigation, search


I have found no step-by-step guide on the web for installing Familiar for people who do not wish to spend their lives studying and understanding the technology. This is especially true for my device, the iPAQ hx4700. As such, I'm writing this manual. Thanks to Azad for his patience and testing of this manual.

Please note that I first made this manual on or around 25 October 2005. As such, hopefully some of the small idiosyncrasies disappear with time, and hopefully I document the others that come up. However, the chances are that I will not maintain this very well in the future, so please use some caution and feel free to update this page at your whim.


  • iPAQ hx4700
  • USB Cradle or Serial cable
  • 64+MB CompactFlash (CF) memory card
  •  ??MB SD/MMC memory card
  • Some way to read/write CF and SD on your computer (not mandatory, but will make life much, much simpler)

Backup your shit

Install the bootloader

Flash linux onto the device

  1. Once the SDG Bootloader has been installed, enter the flash system by depressing the Addressbook and Email buttons, then pressing the Reset button at the bottom of the device.

1. Depress Addressbook and Email, then Reset to enter the SDG flash screen

Boot device

Configure network

On the iPAQ, first set the root password from the console:

root@ipaq-pxa2:/# passwd
Changing password for root
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Re-enter new password:
Password changed.

By default, the IP of the iPAQ will be When the cradle is plugged into the computer, the module usbnet should automatically be loaded. Set the IP on your computer device (presumably usb0) to, for example.

# ifconfig usb0

SSH in

After having configured the networks on both the iPAQ device and the computer, ssh into the iPAQ:

# ssh root@
The authenticity of host ' (' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
root@'s password:

Add sources

First, start editing the "feeds.conf" file, which is used by ipkg, Familiar's package management system. Unfortunately, only vi is present at the moment, so we have to use that.

# vi /etc/ipkg/feeds.conf

Use exactly the following keystrokes:

src/gz koen


i -- "Insert"
src/gz koen -- The typed text
ESC -- exit "Insert"
:wq -- Command (:), Write file (w) then quit (q)

Once this is done, update the feeds:

# ipkg update

Upgrade packages

Because of some problems with the packages, the upgrade should take place in this order:

# ipkg install busybox     # Fixes the busybox upgrade bug
# ipkg install diffutils   # Installs diff utils for later
# ipkg upgrade             # Upgrades all packages

Personally, I did the following with regards to the changes to the files that it asked for:

  1. /etc/fstab - accept
  2. /etc/dbus-1/session.conf - reject
  3. /etc/network/interfaces - accept

Add useful packages