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
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
– 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.