Linux on Pocket PCsby John Littler
Throw Away the Laptop (Maybe!)
Pocket PCs aren't just geek toys. They're incredibly handy and practical for a range of uses. The first use I saw was in a local chain of restaurants, where the serving staff were sending in orders by WLAN, thus saving a fair bit of walking and time, not to mention trees.
Similar workplace applications exist in other parts of the hospitality industry and in medicine, finance, and sysadmin work. The list is endless — it includes any occupation that requires movement coupled with the need to send and receive information that can be shown suitably on small screens.
For certain sorts of journalism, they're a dream. Picture this: you're at an acres-large trade show. You've been walking for an hour or so, and now it's time for a sit-down to collect some scattered thoughts. Out comes the half-a-pound pocket PC. In go notes and enlargements — no lugging a laptop around, and no paper. If you have 802.11b and a hotspot, you can check your email as well -- or file a story.
What This is About
This article is to bring you up to date on what's happening in the pocket PC field, and particularly what's happening with Linux.
We'll look at the main contenders and what's available for them.
The current top-model iPAQ is the 5550; it comes with built-in 802.11b WLAN and Windows Pocket PC 2003. It has the same nice-to-hold, robust case of hard plastic that the older models have, and a bright 2.26-by-3.02-inch screen. It has 128MB of RAM and a 400MHz Intel X-scale processor — in other words, more than your desktop had not that long ago.
The 5550 comes with a cradle, but only a Secure Digital/Multi-Media Card (SD/MMC) slot. SD/MMCs are thin, small cards often used in gadgets such as digital cameras. You'll also need to buy an expansion pack to use Compact Flash (CF) cards, which makes the machine much bulkier.
Its Windows Pocket PC 2003 OS comes with Internet Explorer, pocket Word and Excel, MSN clients, an email client, a calendar, contacts, and a few other bits and pieces, including a media viewer and a calculator. For someone with Windows as his or her desktop, this could be all they'll need. But as you're reading this article on this web site, it most likely isn't. Unfortunately there's some bad news on the way about that ... later.
The iPAQ's main competition is the Sharp range. This range is so confusing on a world-wide basis that it must have confused them too, as they're having a meeting as I write this to decide what to do about their models.
In the USA, the SL5500 and 5600 are available officially, and the Japan market SL C760 is available from third party-sources. In the UK, the SL 5500 was just discontinued and there are no current models on offer; the situation is the same in Europe. In Japan, the C7xx series is available; I'm not sure about the 5000 series.
The 5500 and 5600 look much the same, but the 5600 has a 400MHz Intel Xscale processor, while the 5500 has a 206MHz StrongARM one. The differences in architecture mean that the 5600 is marginally, rather than wildly, quicker than the 5500. (Actually, there is a story going around that the speed difference is because of a hardware bug in the Xscale processor.)
In comparison with the iPAQ, the Zaurus 5xxx series is not as nice to hold and less robust looking. It also has a slightly smaller front-lit screen that isn't nearly as effective as the iPAQ's screen. On the plus side, it has slots for SD and CF cards and a thumb keyboard that is revealed by sliding back a panel on the bottom front of the unit.
The C760 is a little bigger, with a weight of 8.8 ounces and dimensions of 120 by 83 by 23.6 mm (the SL550 is 74 by 138 by 21mm). It is a clamshell-type model, with a 400MHz Xscale processor and a screen that can be reoriented between portrait and landscape modes. I haven't heard whether these run at full speed.
All of these Zaurus models run embedded Linux. The factory ROM includes the usual PIM apps, plus a version of the Opera browser, an email client, a media player, and a series of apps that allow you to open and edit Word, Excel, and PowerPoint documents. There is also a nice little collection of games — a lot better than the two on the iPAQ. The idea of this setup is that you don't care and don't notice what OS is being used.
However, the unit is supplied with a CDROM that contains a console app. This brings us to a whole new world where the stories for the iPAQ and the Zaurus models converge.
But First, Practicalities
If you only use a pocket PC for the PIM apps, then I can't see the point of spending the extra money. Palms and Clies are lighter, smaller, and do that basic job very well. This point is leading to Linux. The Pocket PC 2003 OS is a little more than a PDA OS. Linux is a lot more.
Battery life is shorter on a pocket PC. If you're running 802.11b, it's a lot shorter — on some models, down to around fifty minutes. With my own usage patterns of the machine (returning it to the charger every night and not much in the way of warwalking), I haven't found that to be a problem.
Input methods on these machines vary. The iPAQ has no thumbboard, but does have the best handwriting recognition I've come across, as well as a screen keyboard for the stylus. The Zaurus models have a thumbboard. For bigger documents, the Pocketop infrared folding mini-keyboards are pretty snazzy, and work with the SL 5xxx Zaurus as well as most models of iPAQ (although for the 5550 an infrared repeater is needed).
Now To Linux
Now for the bad news from the IPAQ 5550 section. I've searched high and low and found nothing that will run on it. It is being worked on by Familiar, but there is no news about how far away that might be. As of October 2003, there is coverage of the following iPAQ series models: H3100, H3600, H3700, H3800, and H3900.
Once you have Familiar on an iPAQ, you have a few choices. You could, if you have a 150MB Microdrive, run Intimate, a full-blown Debian system, complete with Debian packages. There is also another Debian project at pocketworkstation.org for the color iPAQs and various Zaurus models.
Different GUIs: Which Way to do Linux?
An iPAQ running Familiar will have a selection of apps and the X Window System. If you add Intimate, you will have a full Debian setup, again running X (or just a console, if you wish). Another option is to take advantage of all of the writing and porting that's been going on for the Zaurus.
Opie, a fork of Trolltech's Qtopia, is the standard-issue GUI for the Zaurus. The various GUI apps for it have the advantage that they've been designed with a small screen in mind. If you have an iPAQ 3600, 3700, or 3800, you can get Openzaurus, which has Opie and a selection of apps. In a moment, we'll have a look at some examples of what's available.
X is available as a package to add to the standard Qtopia or Openzaurus setup.
Get It On
A quick skim reveals that you need either a CF card (which requires an expansion pack) or a serial connection to a host running a terminal emulator. An Internet connection is recommended. After downloading the necessary files, the bootloader is installed and, if you want, a backup image is saved of the Pocket PC OS. Next, the OS files are loaded and the unit reflashed by selecting a menu item and pressing a button. It's a great deal less scary than the docs might suggest at first.
The Zaurus also is commonly reflashed to either update the factory ROM or change to Openzaurus. The advantages of Openzaurus are that it is under constant development and that the Qtopia fork, Opie, has more variety in the way it can look. Security is better and, if you're using a portable keyboard, screen rotation works better, as well. The disadvantages are that you have to do some fiddling if you want to keep the Opera browser and the Hancom Word app.
Reflashing a Zaurus requires loading the file on to a CF card and then pressing an awkward combination of buttons. There is a Zaurus reflashing run-through.
Apps and the Package System
ipkg package system used by Familiar and Openzaurus (and the Sharp
factory ROM) is a cut-down version of the Debian packaging system. It installs
binary packages from a local source or from the net after first checking
You can have a browse through a package list. This is where it gets quite exciting, as there's quite a decent array of programs from all sorts of categories. I didn't see Xscale binaries in this list. Right now StrongARM is by far the most popular with developers. The binary files are compatible for both processors, but if they are optimized for one they will be slow on the other. The source is frequently available, however, and cross-compiling for the Xscale seems to not be too difficult.
Here are some examples of what's available.
- Editors: Emacs is available in the form of
zaurus-emacs, which is a port of
mec(Microemacs). I had a bit of a time finding the key-bindings for it, but once I did, it worked fine. Vim is also available as are Jed, Joe, and Pico.
- Development: There is a C/C++ compiler, Perl, Python, a Python IDE, some GNU tools, a C++ class viewer and much more!
- Console: Konsole, which you get with Openzaurus, is vastly
superior to the Qtopia console with, in effect, a built-in "screen." You can
get that too, as well as things that didn't make it into the cut-down images,
less, and versions of
- Network: Kismet is available, as well as an Opie/Qtopia
GUI front end for it. The excellent Wellenreiter is also there, as are
ncftp— all sorts of programs. In the browser line, there are Links for the console and Konqueror for GUI, if you didn't save or have Opera.
- Audio: There is quite an array of programs, including media players (Ogg123, XMMS, and Madplay) and a port of Csound.
- Games: Oldies such as Nethack and Tetris are available, as is quite a large collection of newish ones. There's also a Gameboy emulator.
Comms, the Killer App, and Why Cell Phones Won't Take Over the World
Just kidding. Cell phones might well take over the world, and will if the telcos can arrange it. For the rest of us, WLAN and particularly, free WLAN, is a nice way not to pay a tax on every information exchange, or at least to pay a low rate. If you're moving about, pocket PCs are the most practical method of access. They are also fun.
Return to the Linux DevCenter.
Pocket PCs and Non-Windows Users
I haven't been a Windows user since partway through NT4 days. Now I have a Mac PowerBook running Mac OS 10.2 and a Sharp Zaurus SL5500 with the Debian-based Openzaurus on it and a CF 802.11b card. I also have an HP iPAQ 5550 on loan.
The iPAQ, while a nice piece of hardware, is totally useless in my environment. The cradle sync only works with Windows, and this particular model doesn't have a Linux OS ready yet for reflashing the ROM. Wifi could have been a possibility, and theoretically it is possible to do ad-hoc or peer-to-peer networking with it, but no one I've come across (including HP techs) has managed to make it work. Part of the problem is that the Windows Pocket PC OS has been dumbed down to such an extent that the wireless tools are practically non-existent. One (not all that useful) possibility is to use an 802.11b base station to send documents via the Internet. This won't get the diary done, though. And yes, if I had a base station I would have been able to send docs across.
There is commercial software at www.pocketmac.net that looks like it could be useful for the iPAQ, but I haven't tried it.
The Sharp Zaurus is also Windows-centric, in that it will only sync with
Windows out of the box. Open source to the rescue: there's a utility to use
the USB port on the Mac for
ftp (with the stock ROM) or
sftp with Openzaurus.
Reflashing the ROM with Openzaurus allows the use of
sftp (more of this in
other sections). There are scripts for syncing with Linux.
HP and Linux
In the days before the Compaq/HP merger, Compaq was very supportive of efforts to run Linux on the iPAQ. They had an engineering team that got a kernel up and running that was the basis for the current Familiar project: basically, Linux on the iPAQ. This is the basis for all of the iPAQ options that exist right now.
Nowadays, the picture is less clear. Officially, the iPAQ is available with Windows, and that's pretty much all anyone says about it. On the other hand (or perhaps really on the same hand) HP is a sponsor of the current SCO road tour, albeit a sponsor that doesn't want its logo to appear anywhere. HP is also pushing its Linux server line with Sun, an old Microsoft enemy, as the chief target. I don't think this is any kind of conspiracy, but it does look as if HP is using Linux as a mere business strategy without making any commitment to it or the ideas behind it.