PDA Freedom with OpenZaurus
Despite Sharp's cancellation of its Zaurus SL-6000 PDA in the US, the Sharp Zaurus continues to have a strong following among Linux gurus in the US and all over the world. No one proves this point better than the people behind the OpenZaurus project. The OpenZaurus Project provides an alternative to the original Sharp Zaurus ROM for different models of the Sharp Zaurus Personal Mobile Tool.
One might think, why would I want to replace my current Sharp Linux distribution? Although I must admit Sharp's embedded Linux distribution is pretty impressive, some points could be improved. Some of these points include SD card compatability and missing utilities, such as SSH. In addition, OpenZaurus provides 16MB of built-in Flash separate from the 64MB of memory split between, in the SL-5500, 32MB for storage and 32MB for heap. The heap memory also can be written to, allowing you to add and remove applications that you can't touch in the Sharp ROM, such as the Hancom applications. Most importantly, OpenZaurus offers freedom of choice.
The only visible and most obvious con against OpenZaurus is its lack of a default Web browser. Although this lack might be a big setback for most people who enjoy surfing the Web on their Zaurus, it can be remedied quickly by using an embedded version of the Konqueror Web browser. If you were in love with the Opera browser on your Sharp ROM, though, tools are available on-line that can rip Opera from the Sharp ROM and pack it into a nifty installation package. Both of these applications can be downloaded from the Zaurus Software Index Web site (see Resources).
The latest version of OpenZaurus is 3.5.1, and it is a complete change from all prior versions. For one, the new distribution is built entirely from scratch using the Open Embedded build system. The new distribution supports all Sharp Zaurus models except the SL-A300 and SL-6000. Support for these models is planned for the near future; according to the Web site, such support will appear in version 3.5.2.
To install OpenZaurus or even the Sharp ROM, you need a Compact Flash memory card--SD cards will not do! The filesystem on the Compact Flash card requires one partition covering the entire disk and a fat16 filesystem. Most Compact Flash cards come formatted with a fat16 filesystem, but if you need to format your card, enter the following command--assuming your card is defined by /dev/sda:
$>mkfs.vfat -F 16 /dev/sda1
Next, download the appropriate zImage file from the OpenZaurus Web site for your particular Sharp Zaurus and its memory constraints. The zImage file contains the Linux kernel used in OpenZaurus. Also, download the initrd file, which contains the basic filesystem structure and default programs for OpenZaurus. For version 3.4.1, three types of initrd files exist and are listed below:
bootstrap-image.jffs2: contains a minimal image to boot a Linux console.
gpe-image.jffs2: contains a UI for X and the GTK toolkit.
opie-image.jffs2: an open-source fork of the Qtopia environment.
Choose either GPE or Opie images for a graphical interface or the bootstrap-image for a simple console interface. The next step is to move the zImage and initrd file to the root directory of the Compact Flash card. Remember to rename the files to zImage and initrd.bin; otherwise, the flashing installation will fail. Now that we have zImage and initrd.bin on our Compact Flash, its time to flash our Zaurus.
The process of flashing tends to vary among different Zaurus models. For the most common model, the SL-5000/5500, flashing is done by performing the following steps, as outlined by the OpenZaurus Web site:
Connect your AC adapter to your Zaurus.
Move the switch below the battery compartment to REPLACE BATTERY. Open the battery compartment lid. Make sure you do not take out the battery.
Hold down the C and D keys on the Zaurus keyboard, and press the FULL RESET button located on the lower-right side of the battery compartment.
Both the power and mail lights on the Zaurus should light up once you let go. Don't touch anything until the lights turn off.
Push the FULL RESET button in the lower-right side of the battery compartment, replace the lid and power on.
Assuming all went well, you should have a working version of the OpenZaurus distribution with either the GPE Palmtop Environment (GPE) or the Open Palmtop Integrated Environment (Opie). Look around and explore! Here are a few screenshots you should see, depending on the palmtop environment you used:
In the end, OpenZaurus allows you to push the envelope on the PDA platform while at the same time promoting Linux and open-source software and philosophy. Most importantly, it's a lot of fun.
Victor Castro is a software engineer for Xroads Networks in Southern California. He's also a student at the University of California, Irvine. He can be reached through his Web site.