index  news

Modified 2005-08-29 08:21

Psion 5MX(Pro) and Linux

Psion 5MX Linux kernel patch

Together with the Psion/Linux developers, I've updated the kernel patches for the Psion 5MX to kernel version 2.4.27. The 2.4.27 kernel source now resides in a subversion repository at http://svn.exactcode.de/linux24-psionw/. You can checkout the kernel source with

      $ svn co http://svn.exactcode.de/linux24-psionw/ linux24-psionw
    

Added features vs 2.4.19

Known problems

Using SargeBook with 5MX(Pro)

I've put together a small tar-ball to go together with Brian Dushaw's SargeBook. You can download it here:

sargebook.5mx.tar.gz (791KB)

You'll first need to download SargeBook v5 from sourceforge, and untar that. After this, you should untar sargebook.5mx.tar.gz in the root-directory of SargeBook. The configuration for the 5MX is contained in the etc/5mx directory, and the netbook configuration is in etc/netbook. Please report problems you may have to me or to the PsiLinux mailing list. Thanks to Georg Schukat for reporting a file I forgot to include in the distribution.

Note: you'll need to boot the system from an initrd, see below for how to setup this with unionfs and cramfs

Writable cramfs root using unionfs

Using unionfs, it is possible to use a compressed cramfs as root filesystem while still having write-support. This has enabled me to use SargeBook with a 128MB CompactFlash card, with around 20MB space left for writable files. For this to work, you'll need the following:

  1. Apply the SargeBook-with-5MX tarball as described above.
  2. Partition the CompactFlash with three partitions; one small FAT partition to boot from with the kernel and initrd; one cramfs partition with the compressed root file system (SargeBook, around 100MB) and one ext2 filesystem where written files will end up (the rest of the CF space).
  3. Compile the 2.4.27 kernel (unionfs only works for 2.4.20 and higher). Get it from the subversion repository above. Enable cramfs and ramdisk support.
  4. Get the unionfs source and compile it. I use Debian, so I just did a apt-get source unionfs and then built them. Place the unionfs module in lib/modules/2.4.27-vrs1-5mx2/kernel/fs/unionfs.o and the unionctl application in sbin/ in SargeBook. sargebook.5mx.tar.gz actually contains these already.
  5. Download the initrd from below.
  6. Use proboot (for 5MX Pro) to create a sys$rom.bin and place this on the FAT partition. Use Arlo (?) if you have a regular 5MX.

The initrd, a slightly stripped Debian ARM initrd, mounts the cramfs root and sets up unionfs with the writable ext2 partition, pivots into the new root filesystem and thereafter boots the system from the cramfs partition. The init script is found in /sbin/init on the initrd, which can be mounted via a loopback device (unzip it first).

Downloads

The initrd image, a precompiled unionfs, and a ready-made sys$rom.bin for a german 5MX Pro 32MB can be downloaded here:

arm-initrd.gz (1.9MB)

arm-unionfs.tar.gz (1.9MB)

sysrom.bin.gz (2.7MB)

More information

See openpsion.org for more information about running Linux on Psion hardware.


To contact me, mail to the following address (decrypted):

ska[at]bth[dot]se