iPAQ on Linux

by John D. Biggs

I knew something was wrong when the brightly back-lit screen of my iPAQ went dark. It was a curse: something, somewhere, wanted me to run Windows CE on my little handheld and was punishing me for trying to get a penguin to appear at startup, instead of a gloating little window. By installing a version of the PocketLinux operating system by Transvirtual, I had erased the boot loader in the computer’s memory, thereby reducing my iPAQ to a lifeless brick.

I searched the message boards for the latest information on Linux distributions for my machine. I found posts by users who were working happily with their installations, but there were a few cries in the dark by those whose handhelds, like mine, were dead. The experts at Compaq’s Research Laboratory (CRL) in Cambridge, Massachusetts were ready. They recommended that crashed users send their handheld to them for reFlashing, effectively giving them a second chance by clearing the memory and reinstalling the boot loader and kernel. I decided I had to go see these wizards at work, so I boarded the train at Grand Central Station in New York and came out at a Boston T Stop near MIT, ready to rescue my iPAQ from oblivion.

Itsy Begat Skiff, Skiff Begat iPAQ

The iPAQ is Compaq’s latest foray into the world of handheld computing. In a welcome departure from most major OEM’s attitudes, Compaq is embracing the open-source model in hopes of creating a truly pervasive computing platform. The 3650 model has a 240 x 320 pixel color screen and a 206 MHz Intel StrongARM 32-bit processor that can be upgraded by using a set of cradles that hold compact Flash or PCMCIA cards.

Compaq’s work with ARM chips goes back four years to the original Itsy project, an iPAQ predecessor, and to Skiffs, small ARM servers running variants of Linux for development and research purposes. After some work on the Itsy project, the iPAQ came onto the scene. This backlit beauty looks like a cross between a cigarette case and a tricorder, and it packs quite a punch. With a its beefy processor and expandability, the iPAQ is the first mass-market product worthy of calling itself a pocket PC.

James Gettys, co-inventor of the X Window System, who now works on the iPAQ handheld system and maintains the handhelds.org site, emphasizes the power of the tiny machine.

“Our view is that the iPAQ is just a computer that happens to have a touch-screen and stylus. We shouldn’t think of it as a little thing on the end of a dongle. You have serious compute capability, significant amounts of memory. For the first time you don’t have to view this thing as something that is divorced and different”, he said. “It’s a full-fledged computer that happens to fit in your hand.”

Gettys foresees a day when the iPAQ and its progeny will live on a wireless network and carry important information that will be accessible at any location, anywhere. The CRL researchers are currently focusing on the Mercury project, which couples a small CMOS camera, an accelerometer for 3-D position sensing (imagine tilting your handheld and watching a little Nikko cat run across the screen in response to the motion), and a set of battery-backed PC cards. The cradle, called a BackPaq, allows for seamless integration with wireless LAN and cellular networks. It is not yet available as a Compaq product.

“We’re doing some things that you just can’t do under Palm OS or Windows CE”, said Gettys.

The ultimate goal is to allow users to seamlessly traverse wireless coverage areas and bring up all their applications and data at a dumb terminal for mouse, keyboard and monitor access.

iPAQ Valhalla

When I walked into the quiet offices of the CRL, I met Jamey Hicks, a senior CRL researcher who heads up the iPAQ Valhalla, where toasted handhelds go to be reborn.

Hicks opened the iPAQ and attached leads to posts on the circuit board that allows direct writing to the Flash. While this is not recommended for the casual user, it’s the only sure way to bring an iPAQ back from the dead.

“One guy came in on his way to the airport for a flight back to Sweden”, said Hicks. “His iPAQ was blank so we fixed it for him and sent him on his way.” After clearing the Flash memory, Hicks installed the latest stable boot loader and the latest kernel, which features a fast journaling filesystem.

The total distribution, called Familiar, uses a Tiny-X server to handle a basic GUI that is completely customizable. We went through some of the applications, including QT, a KDE-like window manager, and mingle, a prototype personal information manager (PIM).

Users looking for the basic PDA functions can also install Agenda Computing’s PIM software, which includes Palm-like versions of date and address books as well as a scientific calculator. The Familiar framework also features a small, on-screen keyboard and a powerful character recognition tool called xstroke .

Admittedly, Hicks said, Linux on the iPAQ isn’t for everyone. While running Linux on your iPAQ is cool, there are few “real” personal information management tools that novices can use as seamlessly as Palm OS or some of the ActiveSync systems from Microsoft. However, programs are in the works to ensure that basic PDA functions are covered.

For casual users interested in a PIM, Gettys suggests sticking with Palm OS or Windows CE. However, to truly see the power of an iPAQ, Linux is a real treat. Web browsing is quick. The BackPaq is an incredible tool, allowing real-time, wireless video-conferencing. And, for programmers, the Python interpreter is small and speedy.

Programming the iPAQ is as simple as coding on a normal Linux workstation. Familiar has full GTK support for GUI elements and supplies a traditional Linux API for mobility.

However, the machine has no built-in floating point unit, thereby making heavy computation slower even on the fast processor. However, that hasn’t stopped developer Lionel Ulmer from porting id’s Doom and Quake to the ARM.

In order to provide a native development environment, the CRL has a set of StrongARM-based Skiff boxes, complete with 10 gig hard drives to hold a full native compiler and debugger.

At the end of our tour, Jamey told me that my iPAQ was ready. We took it out of its cradle and started it up. Tux smiled knowingly from the boot screen, grasping his webbed foot as if limbering up for a long race. My fried iPAQ, once useless, was now a full-fledged Linux workstation.

Try this at Home

The best way to get started on ARM-based Linux is to download the latest bootloader and kernel images from www.handhelds.org, a CRL sponsored site featuring both the Familiar and the larger, Debian-esque, Intimate distribution. These pages supply, in detail, the steps for installing these distributions; care must be taken not to fry your Flash memory. In order to avoid my own experience, always get the latest bootloader (2.14.15, although 2.14.8 actually performs better during suspend/resume) and kernel (2.4.7-rmk3-np1-devfs found in the zImage-2.4.0-rmk1-np1-* image files), all of which can be found atftp.handhelds.org/pub/linux/compaq/ipaq/stable. There are a number of tools available under Windows and Linux that prepare for the installation by backing up the original Windows CE image and sending it over the initial boot image.

Installation also requires a non-standard serial cradle that later doubles as a remote terminal for quick and dirty access to a bash prompt. The serial link also acts as an file transfer system in using the zmodem protocol. By connecting to your iPAQ with minicom, you can upload and download files using sz and rz, two open-source zmodem transfer programs.

A word to the wary: don’t do what I did. Check and double check your installations and be careful before overwriting the Flash. It is extremely important to have the proper images and to upload them in the right order. I’m sure Jamey Hicks and the rest of the CRL don’t want many more visits like mine.

John D. Biggs is a writer and consultant in Brooklyn, New York.