Rolling your Own (Cross Compiling)

Cross Compilation Environment

You will need a cross compilation environment if you want to compile your own kernels, or if you want to compile your own applications for the system. To set it up, you will need the xdev package which is provided at http://linux-7110.sourceforge.net/. Uncompress this file in the / directory of your desktop Linux system. You then need to set your PATH to include /scratch/psion/xdev/bin. Check the xdev-0.README for full details.

Compiling a Kernel

Alternatively, you can create your own kernel, using the cross compilation environment described earlier. To compile a custom kernel, you will need to download the following files:

Assuming that you have downloaded these and copied them to $HOME/Linux7k, execute the following commands:

cd $HOME/Linux7k
gunzip linux-2_2_1.tar.gz
tar -xvf linux-2_2_1.tar
zcat patch-2_2_1-rmk2.gz | patch -p0
zcat linux-2_2_1-philb.gz | patch -p0
cd linux
zcat ../crash+burn-26_patch.gz | patch -p1

These commands have now patched the Linux kernel for use with the Psion Series 5.

You must now configure and compile the kernel. To configure it, execute:

make xconfig

Or, if you don't have X Windows, execute:

make menuconfig

When you have done this, execute this command to make the kernel:

make Image

This command will create a kernel image in arch/arm/boot/Image.

Glueing the Kernel

You must now glue the kernel, so that it can boot on the Psion. This basically adds the ARM bootstrap code onto the front of the kernel. To do this, execute the following commands:

cd ../

gunzip boot-13.tar.gz

tar -xvf boot-13.tar.gz

cd boot

make ./glue.pl ../linux/arch/arm/boot/Image > ../kernel_image

These commands will now make a glued kernel image in $HOME/Linux7k/kernel_image. You may now use this kernel image as your kernel.

Debugging

GDB Stub

There is a GDB stub available from the sourceforge ftp site written by Noel Cragg. The README details all you need to know.

Armulator

To simulate the Psion 5 on your desktop with full debugging capability you can use the http://staticip.cx/~benw/linux7k by Ben Williamson, cool bit of kit.