Linux on Palm Tungsten E2 How-To
Home | Status | Screenshots | Hardware | Downloads | How-To | Bootloader
NOTICE
If you need help with this tutorial, please go to #hackndev @ irc.freenode.com and look for medaglia.
DISCLAIMER
Before starting testing GNU/Linux on your Palm Tungsten E2 backup your data as actually there's no guarantee that after a soft reset your PalmOS data and applications are preserved and/or not corrupted. The only way to restore the contents is to backup before starting testing linux, hard reset and restore your handheld data with a hotsysnc or with a backup tool(some applications may need to be reinstalled). NOTE: the support for Palm T|E2 is actually in a very early stage, so expect to see every kind of problems and kernel errorsIntroduction
First, create a backup using an application like
Other prerequisites are: memory card and a card reader device. The card reader is necessary for mounting the memory card as a standard linux block device, for arbitrary file downloading and repartitioning. If you don't have a card reader, there is shareware software that emulates a standard USB card reader using the Palm T|E2 (eg:
Card Reader).
Partitioning
Backup the contents of the card and partition it to the minimum requirements below using a program such as GParted. The Palm E2 has 16 MB of memory, so it constrains the use of swap.
-
1 vfat (FAT16) 2 MiB + personal space for PalmOS
-
2 linux-swap >60 MiB
-
3 ext2 100 MiB + personal space for Linux
Step by step guide without building
-
Download the files for OPIE:
http://nerdfeliz.com/palmte2/new_image.ext2.bz2
-
Extract the archive: bzip2 -df new_image.ext2.bz2
-
Mount the image to a temporary directory: mount -o loop new_image.ext2 <temp>
-
Copy the files from the temporary directory to the root of the ext2 partition (requires root/superuser access).
-
Download the bootloader:
http://downloads.sourceforge.net/hackndev/cocoboot-0.4.prc?modtime=1184790475&big_mirror=0
-
Download the kernel:
http://nerdfeliz.com/palmte2/kernel/zImage.20070719 and rename it to "zImage"
-
Create a file named "linux.boot.cfg" and save the contents below to it.
-
Copy "cocoboot-0.4.prc" to the /PALM/Launcher directory of the vfat partition (if the directories do not exist, create them).
-
Copy "zImage" and "linux.boot.cfg" to the root of the vfat partition.
-
Unmount the SD card and boot from the program "cocoboot."
#!/bin/sh (-)
ROOT_DEV=/dev/mmcblk0p3
SWAP_DEV=/dev/mmcblk0p2
GPE
GPE image for T3 ( fromGPE work very slow!
Build
Also you can build some components.Tools needed
to build the kernel:in order to build the kernel you need a cross-compiler that generates code for the arm processor. Cross-compilers are often distributed as ToolChains, packages that contain all the tools needed to cross compile. Depending on your linux distro, you may find different toolchains binaries. Have a look at this page (DevelopmentToolchains) to have more information.
Some installations known as working:
-
Gentoo: crossdev (emerge crossdev and run crossdev -t arm-unknown-linux-uclibc)
-
Debian:
scratchbox
-
Mandriva 2006: arm-linux-gcc-3.4.1.tar.bz2 package at ftp://ftp.handhelds.org/projects/toolchain
to build garux:
-
palmos-sdk - PalmOS header files
-
prc-tools - cross-compiler for m68k and ARM platforms
-
pilot-link - application to upload files to PDA from Linux
-
garux sources - sources of GaruxNG for T|E2
to create the initrd:
-
buildroot - for building custom initrd
Building the kernel
The kernel containing the latest changes for the Palm T|E2 is actually hosted by the project-
check out the latest sources: svn co https://svn.sourceforge.net/svnroot/hackndev/linux4palm/linux/trunk
-
cd trunk
-
make palmte2_defconfig
-
make oldconfig
-
make
Create initrd
touch initrd; gzip initrd; copy initrd.gz to root of cardBuilding GPE
Building Garux
Uploading to PDA
-
via USB: PILOTPORT=/dev/ttyUSB0 pilot-xfer -i garux-20060401.prc
-
via serial port: PILOTPORT=/dev/ttyS0 pilot-xfer -i garux-20060401.prc
-
copy zImage.20060421 to root of card as zImage
Some distribution may automatically create a link /dev/pilot, so you can transfer with
-
pilot-xfer -p /dev/pilot -i garux.prc
Return to PalmOS
Run reboot from interface or terminal. Or turn reset button on back side.NOTE: backup your data as actually there's no guarantee that after a soft reset your PalmOS data and applications are preserved and/or not corrupted. The only way to restore the contents is to backup before starting testing linux, hard reset and restore your handheld data with a hotsync or with a backup tool(some applications may need to be reinstalled)