Linux on Palm TX

Here are the steps to get Linux running on a Palm TX. For the approach described, you’ll need an SD card, an SD card reader and a Palm TX that you can hopefully live without. Remember, backup the handheld using a tool such as JPilot. It’s really
quite simple and you’ll thank yourself later.

For the impatient, here’s the list of steps to get you up and running:

– Mount the SD card on your Linux desktop

– Extract tx-bootbundle-20060813.tar.gz to a temporary location

– Copy linux.boot.cfg to the SD card

– Copy garux.prc to Palm/Launcher on the SD card

– Download the root image with your choice of environment

GPE – GTK+ widget toolkit/X Windows
Opie – a fork of Qtopia developed by Trolltech

The links for the root images above are for version 0.8.4-RC3 of the Familiar distribution and are somewhat dated.

– Copy the root image(s) to the SD card

– Create 32M swap file in SD card

dd if=/dev/zero of=swap.fs bs=1k count=32k
mkswap swap.fs

– Edit linux.boot.cfg and uncomment the line with the root image that you wish to boot

– Uncomment the following line


– Unmount SD card, giving it ample time to flush its buffers

– Pop the card in the Palm TX

– Tap on “Garux” and you’re ready to boot Linux

Garux is a loadlin-style bootloader that unloads the Palm OS from memory and boots Linux. PalmOS will still be present in ROM so a reset of the handheld will boot the device back into PalmOS. Because of the way PalmOS works, the Linux kernel is broken up into 64k chunks and rejoined at runtime. The kernel is embedded in Garux, and so a Garux image cannot be used to boot a kernel other than the version it was compiled for. Cocoboot is a newer bootloader that can be used to boot any supported kernel. To setup Cocoboot, simply follow the additional steps:

– Copy zImage to the root of the SD card from the tx-bootbundle

– Copy cocoboot-0.4 to Palm/Launcher of the SD card

– Start the cocoboot application from the handheld and follow the steps

Next week, Linux powered toaster.


Messing with the Colonel

I’ve been reading Linux Kernel Development by Robert Love recently, and it’s exactly the book I’ve always been looking for. A number of kernel books have spent a long time in my wait queue gathering dust and becoming obsolete with every passing day. I’ve gazed longingly at the venerable Lion’s Book on many many occasions only to push it back in the queue because I felt I needed to finish another book first before I could move on to it.

I put an end to all the procrastination and dived into RML’s book and it was glorious. Seriously folks, five stars. It dives straight into the key aspects of the kernel with code commentary and examples. It doesn’t attempt to present all the details of the various interfaces and subsystems that it covers and leaves that as an excercise to the reader. Armed with something like LXR, this has never been easier.

Also, for those aspiring to mess around with the internals while at it, do check out UML (User Mode Linux) which is already in mainline 2.6 and excellent for creating sandboxes to play with.

A Dapper Weekend

Last weekend was eventful than most. My weekends are generally spent lazing around at home watching entire seasons of sit-coms back to back. The LUG has had an active week with a LUG-ercise taking place at Mount Lavinia beach where a bunch of LUGgers and their families met up with the express intent of socializing. Geek-talk was strictly forbidden (which made some of us very uneasy). After a couple of attempts at sports, I realized that I wasn’t cut out for strenuous physical activity and instead decided to just chill for a bit.

Kosala built a replica of the Fortress of Mordor (to scale) that was widely acclaimed by the gathering as an engineering masterpiece that was probably visible from space, and his talent was matched by Anuradha R who built Minas Tirith (also to scale) adjoining the behemoth of Mordor. To add the final touches to these masterpieces in sand, Mahangu dug a massive hole in the center of the Fortress. ‘Nuff said.

On Sunday, the Ubuntu Dapper Drake release party took place at Excel World where I dist-upgraded to dapper over the free wifi and did some work on my BF interpreter that I’ve been too lazy to debug. Had several shots of Espresso at the coffee shop and as a result spent the better part of the day (and night) in a state of agitation.