iPAQ Linux and alternate OS guide
I have several older iPAQ models just laying around, so why not have some fun with them, right? In this edition of the iPAQ tribute, we are going to talk about some pretty cool ways you can use them to run other operating systems. Several models have ready Linux builds that can be downloaded and installed via storage card or Active Sync connection. Some of the Linux handheld projects on the web have kind of fizzled out, and a few efforts continue, but the packages are all still available. The first thing you should know about the topic for this tribute. Much of it is not really for a gadget novice. No offense to anyone (we all started as novices), but if you aren’t ready to delve through forums, and do a little research and debugging on your own, this might prove to be a frustrating and fruitless experience for you. Also--except in the case of StyleTap (the Palm emulator, which runs inside WinMo)--since we are talking about re-flashing your iPAQ ROM, you might end up with a totally bricked device at the end. That’s also part of the fun! Then again, you might be totally successful, and learn some Linux while you are at it! Think happy thoughts… Think happy thoughts…
The GUI (or in this case, terminal shell) you see to the left is from my current Familiar Linux version using GPE as the UI, but some of the shots here are from an older version of Opie that I had previously installed. I was not able to get good shots of Angstrom Linux, as the version I was able to get running is stripped down to simply a window manager. I apologize for having to take pix of Angstrom with my camera, but as I play with it more I’ll get it into a better configuration for a follow-up.
The Opie UI…
So first, let’s say you are ready to geek out and run mobile Linux. Let’s look at the different releases and give some basic information to guide you. First thing you should get used to is a web thing called a “Wiki”, because I have a feeling you are about to become very familiar with them. Linux gurus and geeks love to post their technical information and notes to a collaborative type of web site called a Wiki. By the way, Pocketnow.com has a mucho awesome wiki on covering several WinMo devices helpful topics, and HP devices in particular. The cool thing about a wiki is that just about anyone can access them and add information directly to the site pages, while keeping the overall site look and feel the same. They also allow system administrators to assign sandbox areas where users can change/post things without blowing up important stuff, and to maintain version control over the pages.
Mobile Linux (I call it “mobix” for short) install packages are mainly divided into 3 types: a base Linux image with no window GUI environment; or GPE; or Opie (2 different GUI enviroments). The base linux image is obviously for hardcore nix users who want to use their handheld to simply run services (say you just want to run Apache web server on your handheld, for example) or maybe do dev work. Will go into more depth next on the merits and detractors of Opie/GPE and largely focus on the GUI-related builds. Unfortunately, only specific models of iPAQ have builds that will run on them, so you want to check the documentation out before anything else. The titles for each section below are links to the main pages for the various mobix flavors.
SEMI-LEGAL DISCLAIMER and WARNING: This article refers to actions that could cause your device to become toasted, or “bricked” and become largely unusable. You are solely responsible for the outcome of these actions, and should not expect anyone else to share in said responsibility, including me or smartphonemag.
…GPE and Opie…
Familiar Linux was the first to bring a truly stable, and runnable Linux distribution to the iPAQ (at least in my experience). The Familiar packages have not been updated in years, but you can still download and install them. Opie is more reminiscent to me of the KDE desktop, and has some better features and eye candy. The GPE build includes a more plainer, gnome-like desktop/application menu system (see this for more about gnome). Included in both are typycal PIM apps for contacts, tasks, and in the case of GPE (as you can see from the screenshots), an early version of the Minimo web browser. Notably missing in the GPE build is an e-mail client. I currently am running 0.8.2 (0.8.4 is the latest). It is important to thoroughly read all the documentation still available at the Familiar install instructions site before attempting to install either Familiar GPE or Opie. This guide is not a how- to, but essentially an informative post to start you on this process. Firstly, these releases are not exactly turn-key to set up and get fully functional, and they will require you to blow away WinMo to run Linux. Often you will observe some pretty treacherous bugs, and there’s no support other than what you might find in a few forums. For instance, I added the GAIM program to GPE (gnome’s excellent multi-chat tool), and it core dumped (crashed) whenever it tried to authenticate to my chat servers. After getting the OS installed and running, you can use either the ipkg command in a terminal window, or launch the GUI-based package manager. This standard linux tool allows you to add from a ton of helpful add-on applications (think of it as the original “App Store”), and best of all, it’s free. You can query and view information in the catalog of available apps and packages at the following link called ipkgfind…
Angstrom is a mobile linux release, that unlike Familiar, has more current images available for the iPAQ (current as of last year). Leveraging the HaRET bootloader, the build image and tools available will allow you to install and run mobix from an storage card. Essentially there are 2 main ways to do this. Both methods run by executing the bootloader from inside WinMo (unfortunately this will hard reset your handheld). In the first method, Linux boots up running from a liveCD type of image in a RAM disk setup. Meaning essentially, your root filesystem drive and OS are all dumped into main memory at startup. It can be quite fast to do this in fact if you have plenty of memory. Most older devices however, are lacking this to start with, so you may not be able to do much after this. The other issue is that it’s really not for long-term configuration, as you can’t save settings for subsequent uses. As soon as you stop and reset, the image is gone from memory.
The 2nd method is a little more complicated, but better for long term use, by choosing to install the Angstrom root into proper partitions on an SD card and using a “loopback” image. To do properly, this requires you to create a FAT partition (for the bootloader and image file), and an EXT2 part for the root Linux extracted tarball (see the Startup.txt file). The downside to using any of these methods is that you will lose any WinMo data not in non-volatile storage, but the good news is that WinMo doesn’t have to be blasted completely to run Linux. In my testing, I could only get the stripped down GPE image to finish the boot (which doesn’t have many useful features), but there are a ton of great packages that can be added after you get the base image up and running. Like the iPKGFind utility noted above (for finding info on packages), there is also a similar search mechanism on the Angstrom site here. Some spartan install instructions are here on the wiki.
This post is all about hacking your iPAQ to run other operating systems, so what about StyleTap? The only Palm emulator I am aware of and have extensively tested (see my full review here). I am not aware of a way to install Palm OS on to the iPAQ itself, but installing StyleTap is quite easy and will allow you to run many older Palm programs from inside WinMo. The program was designed to run on older units like the iPAQ and Dell Axim line of handhelds, but is also supported on several other WInMo and even some Symbian devices. Check out the FAQ here and learn more about this innovative emulation product.
Running Programs inside StyleTap
Many phones including the Android-based G1 don’t use anything more fancy than good old java to run the OS, apps, etc. Jbed is one of the best java MIDlet managers for Windows Mobile. With it installed, you can run several java-based programs on your iPAQ, notably alternate browsers like the free Opera Mini. A recent update was released and is available here (on XDA dev site). You simply install Jbed, and then copy in java programs to your device from your PC. You have to install the programs through the manager, but once Jbed is installed, you can simply download files to your device. It will try to install them by default. Mobile java apps will typically have a .jad or .jar extensions. There are also ways to create special shortcuts that will execute your apps without manually loading the JBed run-time first. See Werner’s MIDlet bible for more infomation.
Is it possible to run Android on an iPAQ? Yes, actually! It is possible to compile a build of Android for the iPAQ, and in fact I have found some forum posts that indicate it has been done. It wasn’t very successful however (buttons and screen didn’t work, etc). One method would not be far removed from the process I described above for running Angstrom in loopback mode. The problem is that there are no ready images to use. You would have to first download/install the Android SDK, develop suitable drivers for running on iPAQ hardware, and then compile your build. So, it isn’t impossible, but difficult if you have no knowledge of developing/cooking your own ROM, or working with Android. Below are some links describing how some other folks did this for their WinMo devices. Maybe some iPAQ freak will come along and run with this (or already has), and create a working build for us.
http://www.androidonhtc.com/ (Android on HTC devices)
http://www.oesf.org/forum/index.php?showtopic=26022 (someone who claims to have done it on a hx4705)
http://axdroid.blogspot.com/2009/03/android-is-working.html (Android on a Dell Axim).
Also a few links on how it was done for other device types (N800, Sharp Zaurus, etc):
http://elinux.org/Android_on_OMAP (general OMAP info)
http://www.pcworld.com/article/164151/how_to_build_your_own_google_android_tablet.html (PC World article on cooking N810)
A few more tips…
Now that you are armed with some basic information on hacking your iPAQ for alternate OS, don’t rush off and try to do the stuff like re-flashing without taking the time to read all the documentation available first. Also, if you ever want to restore the original OS, you want to make a backup of your current ROM. The Familiar bootblaster will allow you to do this, so do it BEFORE doing anything else (also see this for a restore)! Really, no matter which method you are attempting, you should always keep a good backup of your data (Spb Backup, or Sprite), etc. Please keep all your fellow iPAQ freaks apprised of your progress by posting back here. It might help others who are trying the same thing… Vive la iPAQ!
SEMI-LEGAL DISCLAIMER and WARNING: This article refers to actions that could cause your device to become toasted, or “bricked” and become largely unusable. You are solely responsible for the outcome of these actions, and should not expect anyone else to share in said responsibility, including me or our site.