Skip to main content

Installing Linux on your PalmOS Device, Part I

posted onFebruary 13, 2002
by hitbsecnews

By: Jayson Staton

There are 2 types of people in the world: people who use Linux and people who don't, and rarely the twain shall meet. Until a few days ago, I was with the latter group of the twain. That is, until I thought it would be a good idea to throw caution to the wind and try to install Linux on my innocent Handspring Visor. The results, as you shall see, were mixed.

uClinux

A word of warning: replacing your existing PalmOS with uClinux is still in the testing stage. There are no guarantees that this will work with your setup, and there are very few applications that will run in this environment. With that said, you must first decide which build of Linux you want to install.

There are quite a few distributions of Linux currently available for mobile devices, but the distro to be used in the experiment is called uClinux (pronounced "you see Linux"). This tiny build is derived from the Linux 2.0 kernel and is intended for a wide variety of microprocessors.

The microprocessor in question belongs to my Handspring Visor Deluxe with 8M of RAM using a USB Hot Sync cradle. This is not the appropriate combination. If you want to perform this yourself, you will need the following:

  • either a Palm III, VII, m100 or Visor Deluxe
  • a serial cradle (USB will not work)
  • PC with telnet application
  • the appropriate source files (available at the end of this article)
  • a paperclip to reset your device
  • a lot of time

Installation

We will present 2 different methods of installing uClinux. Regardless of which method you choose, you will need to back up the contents of your device before proceeding. The bootloader application required to start Linux completely erases the contents of your RAM. Your ROM and factory OS will remain untouched, so in a worst-case scenario you can perform a system reset to return the device back to its original state.

Easy Method

The first and easiest way of replacing your Palm OS is by downloading and installing a pre-made .prc file that contains the bootloader and minimal uClinux kernel and file system. Several versions are available, and you can download the latest pre-alpha version from SourceForge.

After you have downloaded the file, sync it to your device. If you are using a serial cradle, you will be able to communicate to your PDA through telnet. You will need to disable your Hot-Sync software before the device can communicate with your host PC.

Not-So-Easy Method

The other method involves creating your own .prc file with the downloaded Linux source files. Craig Comstock has posted the instructions for this method at the SourceForge site listed at the bottom.

In a nutshell, the process listed by Mr. Comstock involves the following steps:

  • download the source files
  • install an m68k-elf tool chain
  • install the Prc-Tools application (this is freely available from Palm's site)
  • create and install your prc file
  • execute the file on your device and watch through the terminal window on your host PC

Only those who have prior Linux experience should attempt this method.

Other Distros and Reference Files

uClinux is not the only choice for aspiring handheld Linux users. LinuxDevices.com has a listing of PDAs that ship with Linux, as well as a few alternative methods of installing it yourself. Check out the links below for mor information:

Source Files

Information

Feel free to email me if you have succeeded in installing Linux on your PDA.

1.) Traceroute explained - Grifter
2.) Overview of a few computer security issues - madirish
3.) Footprinting: The basics of hacking - ManicVelocity
4.) DSniff: Use and Abuse - Oshu
5.) Installing Linux on your PalmOS Device - Jayson Staton
6.) Computer Robotics: Hacking towards the future of Electro-Mechanical Companionship - Jayson Staton
7.) A Quick Take on Athlon XP - biatch0
8.) The coming of Age - Dinesh Nair
9.) A newbie intro to Telnet - Kn¿ght

Source

Tags

Intel

You May Also Like

Recent News

Friday, November 29th

Tuesday, November 19th

Friday, November 8th

Friday, November 1st

Tuesday, July 9th

Wednesday, July 3rd

Friday, June 28th

Thursday, June 27th

Thursday, June 13th

Wednesday, June 12th

Tuesday, June 11th