./manuel klimek

GNU/Linux on your Ipaq

The first step is to know where all the information is located.

  • handhelds.org
    The mother of all information for your task. You'll find everything you need there. But sometimes it's rather difficult to find. I started my searching there.
  • familiar
    The distribution you'll install. This is the site to watch for new releases. It can't harm if you subscribe to the familiar mailing list to get the latest information.
  • opie
    My favorite Desktop system for familiar. There's also gpe, but my docs will focus on opie as the main desktop system.

The bootloader

The first thing you have to do while running WinCE is to install a new bootloader. This is done by following the Bootloader Installation instructions. The documentation is quite exhaustive.

Next, after rebooting you need to connect your linux box to your ipaq. To get this running with a debian desktop box, first install the minicom and lrzsz packages. Without the lrzsz package you won't be able to send data via x/y/zmodem to your ipaq! You can find some hints about the required settings at the getting started section of the familiar faq. The terminal is configured properly when you see the

boot>
command line.

Installing familiar

Now all we need is a distribution to boot. Go to the familiar page and select the latest distribution. There you'll find a boot image to install and (usually) some installation instructions. At the time of this writing Familiar 0.7rc1 is the latest version and the only installation instructions available are about familiar 0.6 installation. I selected the bootstrap image (no opie and no gpe, we'll install those later).

Once you've uploaded the bootstrap image via load root, you'll be able to log into your newly installed linux system. Now we need an internet connection and some desktop environment to be able to be mobile.

Hint: If your battery status seems to be completely wrong, read the chapter on power management at the Ipaq 38xx status site.

USB Networking

There are lots of resources that try to explain how to set up usb networking on your ipaq. The ipaq side is really easy. You'll just have to edit /etc/network/interfaces to meet your needs. Mine looks like:

iface usbf inet static
        address 192.168.42.202
        netmask 255.255.255.0
        network 192.168.42.0
        gateway 192.168.42.201
Now edit /etc/modules and add a line containing usb-eth. To use usb networking at once issue a modprobe usb-eth. Finally look into the /etc/resolv.conf of your desktop computer and make the /etc/resolv.conf on your ipaq look the same.

The debian site of the installation is a little more complicated. First install hotplug and get your usb running by loading the hci_usb module (put it into /etc/modules). Now edit /etc/network/interfaces on your desktop machine. Here's what I added:

iface usb0 inet static
        address 192.168.42.201
        netmask 255.255.255.0

mapping hotplug
        script /bin/grep
        map usb0
The mapping section is required in the latest sid stuff because else hotplug won't ipup your device automagically.

Then you'll need to setup IP masquerading to enable your ipaq to talk to the internet. I use the ipmasq package for this. The problem with the ipmasq package is, that hotplug doesn't notify it of interface changes, so you have to manually call ipmasq or /etc/init.d/ipmasq restart to reinitialize your settings after connecting your ipaq. I'll try to automize this. Input on this issue is welcome.

After enabling usb on both sides or after a suspend you need to take the Ipaq out of it's cradle and plug it in again for usb networking to work. After that you have to reinitialize ipmasq!

Beware, I sometimes get problems with ipmasq messing up my complete routing. In this case an /etc/init.d/ipmasq restart helps, too.

Next: The Feeds