Linux on the Ipaq HX4700
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)
Enter the HP Maintenance screen
Enter the HP Maintenance screen by holding Addressbook and iTask, then pushing the reset button at the bottom of the device. The screen you arrive to should say "v1.01" and have an "hp" logo. However, the screen is not backlit, so it may be difficult to visualize.
Sit the device in your cradle and plug the USB plug into your computer's USB port. At this point, a "USB" should appear at the top of the screen, replacing "SERIAL". You should also have a device /dev/ttyUSB0.
Access the device with any terminal program such as minicom. With minicom, I logged in as a superuser (e.g., root) and then entered setup:
# minicom -os
I then configured the serial setup so the device was set as /dev/ttyUSB0. I hit enter a couple of times at the terminal, and got the following:
Backup your shit
I then backed up my old image to the SD (note: this destroys all data on the SD card). I would recommend using a 256MB SD or less, since that makes backing up the SD card to your computer system manageable. The progres in percent of this process will be shown on your device. The screen output follow:
USB>d2s SD:Waiting for card insert......... CMD3 for SD, it's OK, ready to get RCA from response. SD:Detected one card SD:ready for transfer OK Total card size=3D680000e=0 SDCARDD2S+,cStoragePlatformType=FF *************************************************************************** Store image to SD/MMC card successful. USB>
At this point, there are two options as to what to do:
- Put the SD card in a safe place and never use it again on the off-chance that you may ever want windows again. Use a second SD card for the remainder. This option is not recommended.
- Save the contents of the SD card onto a CD (if your SD is < 650MB) or DVD, then continue. Assuming that your SD reader is /dev/sda, backup from SD of the main computer system is as follows:
# dd if=/dev/sda of=mybackup.img
To restore the image to the SD card, one would do:
# dd if=mybackup.img of=/dev/sda
Install the bootloader
Flash linux onto the device
- 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.
Configure internal 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. root@ipaq-pxa2:/#
By default, the IP of the iPAQ will be 192.168.129.211. 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 192.168.129.1, for example.
# ifconfig usb0 192.168.129.1
After having configured the networks on both the iPAQ device and the computer, ssh into the iPAQ:
# ssh firstname.lastname@example.org The authenticity of host '192.168.129.211 (192.168.129.211)' 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 email@example.com's password: root@ipaq-pxa-2:~#
Configure external network (internet)
Now, we must also assin a gateway and select a DNS server. I will assume that the USB connection is being used to provide internet and that the computer attached knows how to serve the internet. Assuming that the computer's IP address is 192.168.129.1, we will do the following:
# route add -net default gw 192.168.129.1
Now we will enter the DNS server using vi. Use exactly the following keystrokes:
# vi /etc/resolv.conf i nameserver 192.168.129.1 <ESC> :wq
i -- "Insert" nameserver 192.168.129.1 -- The typed text ESC -- exit "Insert" :wq -- Command (:), Write file (w) then quit (q)
Add package 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:
i src/gz koen http://ewi546.ewi.utwente.nl/feed ESC :wq
Once this is done, update the feeds:
# ipkg update
Because of some problems with the packages, do the following to upgrade:
### Install packages that have to be done before the upgrade # ipkg install diffutils # Installs diff-utils for later # ipkg install busybox # Fixes the busybox upgrade bug
### Upgrade all packages # ipkg upgrade # Upgrades all packages
Personally, I did the following with regards to the changes to the files that it asked for:
- /etc/fstab - reject
- /etc/hostname - reject
- /etc/network/interfaces - reject (the IP changes to 192.168.0.202 if you accept)
Add useful packages
Packages that I think have to be installed to make the system useful:
- Nano text editor:
# ipkg install nano
- PDF viewer (gpdf)
# ipkg install gpdf
- Xstroke and minipredict