oreilly.comSafari Books Online.Conferences.


Linux on an iPAQ

by Chris Halsall

Using a Compaq 3650 iPAQ can at first be a bit of a mind-blowing experience. You're holding in your hand a 206-MHz StrongArm processor, 32 megabytes of RAM, and a 240-by-320 pixel color LCD screen. Other than the display, this is better than what we had on our desks only a few short years ago!

The physical design of the unit is quite sexy, with a metalized finish and curved side edges. It feels comfortable to hold, if only slightly heavy. In addition to a regular sync port, the iPAQ also has an expansion bus which, with the use of Expansion Pack jackets, allows the use of one or two CompactFlash or PCMCIA cards.

In addition to the display (able to show 4,096 colors), it also includes a built-in speaker and microphone, plus an audio jack for private listening. Four application buttons straddle a five-action joystick, perfect for games -- I mean -- spreadsheet navigation. There's also a fifth application button, "Record", positioned to be immediately accessible by the thumb when held in the left hand.

At the very top of the unit, in addition to the audio jack, is the IR port, and the location where the stylus is held. Once inserted, the stylus will not fall out no matter how much G-force the unit is subjected to. To get the stylus back, you must press a button just to the left, at which point it jumps out part way -- very James Bond.

Now, all this power and capability comes at a rather steep price -- suggested retail for the 3635 model is $599, although you can find them (or the 3630/3650; the same hardware) for around $500 without too much effort. This is twice the price of the Agenda VR3, and three to five times the price of a low-end Palm.

The Compaq iPAQ.
The Compaq iPAQ.


Previously in this series:

Linux on Your PDA

The Agenda VR3: Real Linux in a PDA

Comment on this articleHave you tried any of the various Linux distributions available for the iPAQ? If so, tell us what you've discovered.
Post your comments

However, Compaq can't build iPAQs fast enough. Recently there's been a general shortage of units in many retail channels, with most iPAQ customers being on waiting lists with retailers, or ordering directly from Compaq (and still waiting two weeks). Production is being ramped up, so this should be less of an issue soon.

Linux instead of Windows CE: But which Linux?

The iPAQs come pre-installed with Microsoft's Windows for Pocket PC, formerly known as Windows CE, or WinCE (rhymes with "prince"). For those who want to run a more familiar operating system, Linux can replace WinCE in the unit's 16 megabytes of flash ROM. While Compaq won't sell a unit without WinCE, they are contributing considerable resources to making Linux work on the machines.

Compaq hosts and sponsors the site, which is a community resource center, primarily for developers, hosting Web, FTP, CVS, and mailing-list services. The site focuses on Linux under StrongArm SA11xx processors, such as the iPAQ and the Yopy, but does not mention work on other processors such as MIPS or 68xxx. At the site are detailed instructions on installing Linux on a iPAQ, which we will cover in more detail below.

Similar to the situation on personal computers, there is more than one choice as to which Linux distribution to run on an iPAQ. Until recently, the reference distribution known as compaq (or hh for was the most commonly used. The distribution was first released as v0.1 (really v0.01) in May of 2000, and has been steadily improving over the last year, now up to v0.21.

As the name implies, this distribution is a Linux kernel and OS environment produced by Compaq. Being a reference design, others were encouraged to use it as a base to experiment with, which is exactly what happened. While Compaq focused on getting the kernel and critical facilities like X working, other projects built on this work to create new distributions.

One example of this is the Familiar distribution, a lightweight package with Python and XFree86 with anti-aliased fonts, using the Blackbox window manager. Familiar also includes a new packaging system called ipkg, which is like RPM or DEB packages for desktop Linux. Put together by Alexander Guy and Carl Worth, Familiar version 0.4 was just released as a stable version. See for more information.

In an excellent example of the open-source process resulting in organic evolution of code and projects, Compaq has decided to drop their own distribution and adopt Familiar as the new reference. Familiar 0.4 was so much further along compared to their own v0.21, they asked the participants of the e-mail list what people thought of the idea -- it was greeted with enthusiasm.

Another distribution is known as Intimate, and is an extension of Familiar. Unlike Familiar, which is designed to fit inside an unexpanded iPAQ, Intimate requires at least an extra 340 Mbytes of storage be available, usually by way of a microdrive. Intimate's goal is to provide a "full-blown" distribution for the iPAQ, including things like Doom, Konqueror, and MPEG players. See the Intimate homepage for details and screenshots.

In addition to these three general-purpose distributions, there are also three specialized distributions available. Century Software Embedded Technology has a system that starts with the hh distribution, but replaces the X Window System with Microwindows and the Fast Light ToolKit (FLTK). Also included are several applications, including PIM software and a web browser.

Trolltech has ported its Qt Palmtop Environment (QPE) to the iPAQ, making it available as source or a simple /usr flash image used as a drop-in replacement for the one provided with the hh distribution. Like Microwindows, Qt replaces X with a direct-to-framebuffer interface that makes things a little faster. QPE is available for free for individual users, although commercial developers must pay a license to develop for the platform.

Transvirtual Technology's PocketLinux technology, however, is a bit unique. It, like the others, builds on the work from, but instead of a Linux environment, its goal is to provide a Java runtime instead! Created by the authors of the Kaffe Java Virtual Machine (JVM) -- a clean-room, open-source implementation of Sun's "write once, debug everywhere" language (that's a joke) -- PocketLinux is intended to run Java applications.

Wow! Six distributions -- all for a handheld! One might think there's been excessive forking going on. In fact, these distributions simply represent the current available technologies, all ported to the platform. QPE and Microwindows are targeted more to PDA application developers, rather than X and Linux geeks. PocketLinux is even more specialized, using Linux more as a substrate upon which to provide a Java runtime.

The choice of which distribution to use really comes down to a simple set of criteria. Want the X Window System? Run Familiar, or Intimate if you've got a microdrive. More interested in lightweight application development? Consider QPE or Century Software's Microwindows. Love the speed (of development) of Java? Then you'll want to develop for PocketLinux.

As the Familiar distribution is now the reference -- there will be no additional releases of hh -- this will be the choice for those wishing to be involved with the latest development activities.

Pages: 1, 2

Next Pagearrow

Linux Online Certification

Linux/Unix System Administration Certificate Series
Linux/Unix System Administration Certificate Series — This course series targets both beginning and intermediate Linux/Unix users who want to acquire advanced system administration skills, and to back those skills up with a Certificate from the University of Illinois Office of Continuing Education.

Enroll today!

Linux Resources
  • Linux Online
  • The Linux FAQ
  • Linux Kernel Archives
  • Kernel Traffic

  • Sponsored by: