With much help from the chaps in #hackndev I managed to get Linux installed on my Treo 650:
You can see a video of it booting and running a few applications here:
http://elleo.blip.tv/file/get/Elleo-LinuxOnATreo650996.ogg (Ogg Theora)
For anyone else wanting to do this, the steps are as follows:
- Download and unpack P3t3’s Treo image.
- Overwrite the zImage with my version. This is a more up-to-date kernel and has the initramfs built in to the kernel image (because of some buggyness in the MMC driver loading an initrd image from an SD card can be unreliable).
- Copy AngstromOPIE_t650-v01.ext2, linux.boot.cfg and zImage to the root of your SD card (make sure you unmount it cleanly after you’ve finished).
- Download P3t3’s Treo version of cocoboot and install it to your Treo.
- Run Cocoboot on your Treo, replace the line saying “init=/linuxrc” with “mem=32M”, then hit “Boot”.
- Enjoy the geeky goodness :).
For people asking about the 680, I don’t own one but you could try using the latest zImage and cocoboot version from: http://www.palmlinux.cz/p3t3/treo680/.
It’s still not amazingly fast, but adding the swap makes it just about usable (see update), and there’s still a lot of work needs doing before it can actually be used as a phone. I believe P3t3 has worked out how to switch the GSM chip in to AT mode (PalmOS uses some odd binary mode for talking to the chip), but I don’t think things have gone much further than that yet.
To get back in to PalmOS just hit the reset button. It shouldn’t touch any of your files in any way, but it might be a good idea to backup first just in case ;).
Update: The speed can be increased greatly by passing the parameter mem=32M in Cocoboot, for some reason without this the kernel only makes use of about 16MB of RAM.
Update 2: Fixed dead links, added links for Treo 680, removed swap info (not needed with the mem=32M parameter).