A package for Linux on a Psion 5MX
November 13, 2001, last revised May 7, 2006.
(You can send me e-mail, but I do not promise to reply - I offer no support
for this package at all. But it is free...)
7 May 2006 - General update; new HOWTO available.
5 February 2004 - Changed the link to get Debian ARM binaries; ARM binaries can be obtained
directly from Debian's "Debian Packages" now.
28 May 2003 - Changed links of the large tarball distributions to aim at the "File Releases" page for Psilinux.
24 April 2003 - Deleted PicoGUI; it is not really effective, as far as I know
24 April 2003 - Moved most of the large tarballs and *.deb files to the Netherlands (wendy.djo.tudelft.nl);
the links for these will still work they just aim at the Netherlands now. [University policies regarding
disk usage and so forth]
17 February 2003 - Added a set of Release Notes
10 February 2003 - Added a cleaned up version of the Debian Woody tarball (10 MB),
a basic set of *.deb files for X windows (6-10 MB), AND a cleaned up version
of Debian Woody with X windows installed tarball (17 MB). See link at the bottom.
Removed old distribution, "Distorted Woody", aka disk2.tar.gz. We salute "Distorted Woody"! :)
3 February 2003 - Made a set of notes on how to assemble the aforementioned base Debian Woody. See the
link at the bottom of the page.
2 February 2003 - Made a new base Debian Woody distribution - primitive but a (mostly) clean, updated
distribution. See the link at the bottom of the page.
25 January 2003 - Added a screenshot of X, Octave and Gnuplot!; fixed link to mail list archives.
27 December 2002 - Fixed a few broken links (??? gremlins.), added comments that X is easy to install, added a counter.
23 October 2002 - Made a few corrections and warnings about the initrd.gz (it might not work)
1 April 2002 - Gave a link to the origin (debian_woody.tar.gz) of the distribution - the dpkg system
of my distribution is slightly, and annoyingly, broken; caveat emptor.
21 March 2002 - Merely news: X windows will now work on the Psion 5MX. See the HOWTO link below.
20 March 2002 - removed xinetd package and configured inetd (saving 1MB of disk and 500KB of RAM)
19 March 2002 - added a tarball for picoGUI.
18 March 2002 - updated the EPOC and linux tarballs to use the latest ARLO and kernel
Updated libc; configured rsh, rcp, xinetd; some clean up of the system and its
This page has had
visits since December 27, 2002.
These are a set of notes on installing my homegrown
linux filesystem for a Psion 5MX handheld computer (16 MB of RAM, 64 MB compactflash
disk). Most of the notes that were here have now been moved to the
the Psion 5MX HOWTO (revised Spring 2006).
N.B.: There is now a distribution for Sarge that can be
used for the 5MX. Download "SargeBook_v5.tgz" or "SargeBook_v5-lite.tgz"
Files, and follow these instructions to modify
that tarball to work on the 5MX. This installation requires a
compactflash card size greater than 256 MB, but includes the apt-get
package and many other useful things.
You may download the modified, Woody "distribution" from the links at the
bottom of this page.
The Linux package is based on the ARM binaries
Debian Linux, and "Woody" was used for this purpose. I have taken the Woody package,
which takes up about 70 MB of disk space, and hacked "unnecessary [?]" bits out
of it, and added in a bunch of useful stuff, and reconfigured the basic system
- in particular, the directory /etc is somewhat changed from Woody, and elements
of /usr/share have been massacred.
One of the linux "distributions" below includes the X windows system. This
"distribution" will fit onto a 64 MB compactflash card. If you want to install X
yourself, it is fairly easy - you need merely install the dozen or so
*.deb files listed on the
X installation HOWTO page, set up a simple ~/.xinitrc file, and
execute "xinit". You can get these selected *.deb files below. A 128 MB
or greater-sized compactflash card works best.
X Screenshot: Octave and Gnuplot on the 5MX!
(To install Octave, just install the ARM version of the octave *.deb file
from the "Testing" versions of the Debian packages.)
I also revised the initial root disk (initrd.gz) from
the Woody distribution to fix a number of annoyances - e.g. e2fsck didn't
work and the root RAM disk was too small. When using this filesystem, the
kernel loads it into memory on a ram disk /dev/ram0, and it does not require
the compactflash disk (/dev/hda2). Thus, it is really intended to be used
as a sort of rescue system - to run, e.g., e2fsck on the disk.
The main site for OpenPsion is
http://www.openpsion.org, and the e-mail archives are at
Linux-7110-psion Archives. The former link may have more recent
kernel images, packages, etc.
It is amazing to see linux on the Psion 5MX!
These directions have been written for a psion 5MX
computer with 16 MB of RAM and a 64 MB compactflash disk on a US version
of the psion. The system has 11 MB of free space. It may be that the
distribution will work for other psions -there are no guarantees in life.
The directions assume that you have a means of accessing
the compactflash card either via a notebook computer or a compactflash reader.
If you don't have a compactflash reader and want to try this out, then invest
in a USB compactflash reader (they are O(US$20) and supported by linux as scsi
devices). (Technically, one might be able to do the installation by
booting the system to memory using initrd/ram disks, and formatting the disk
from there - this would mean, however, downloading the 41 MB filesystem over
the serial port...)
Installation and bootup
The basic installation is in two steps 1) format the
compact flash disk to have a 4.0 MB dos filesystem
and an ext2 filesystem of the remainder of the disk - to have at least
42 MB and 2) to unpack the tarballs
into those respective filesystems. With a bit of work, and deleting a few
non-essentials from the tarballs, you might get these to fit on a 45MB compactflash
card (with very little free space leftover).
STEP 0: If you have anything on the compact flash
that you want to save, back it up. The procedure below will delete
everything from it.
STEP 1. With the compact flash inserted in your
desktop or notebook computer, access it with fdisk; BE VERY SURE YOU ARE
USING THE RIGHT DEVICE - YOU CAN TAKE OUT YOUR DESKTOP LINUX SYSTEM!. I
used "fdisk /dev/hde", but you may need to use "/dev/sda" etc. - whatever
device your system recognizes as your compactflash. Delete the dos partition
on the compact flash. Make the first primary partition to be 4.0 MB
in size (cylinder 1 to +4000K), and set its type to dos fat16 (I used type
4). Make the second partition to be the remainder of the compact flash
and leave it as an ext2/linux partition (unless you have a large disk and
want swap space or a second partition for some reason). Make the dos
filesystem on /dev/hde1 ("mkdosfs /dev/hde1" ***see large capitalized letters
above***) and the ext2 filesystem on /dev/hde2 ("mke2fs /dev/hde2" ***ditto***).
Done with step 1!
STEP 2. Mount the dos filesystem - "mount -t
vfat /dev/hde1 /flash" (I used /flash but you can use any convenient
mount point). Unpack the first disk tar package into /flash: "tar
xfz disk1.tar.gz -C /flash". Unmount the dos filesystem "umount /flash".
Mount the ext2 filesystem - "mount
-t ext2 /dev/hde2 /flash". Unpack the second disk tar package into
/flash - "tar xfz disk2.tgz -C /flash". Note you are better off using
tar this way, rather than untarring the package to a filesystem and copying
the filesystem over, because tar preserves the links, while "cp" will make
duplicate files of the links and so use up much more space (but perhaps
there is a smarter way of using "cp"). [You can also untar this filesystem
in a convenient isolated directory, and browse through it and/or modify
it to your own purposes before putting it on the compact flash disk]. Unmount
the ext2 filesystem "umount /flash". Done with step 2!
After waiting for the compact flash disk to properly
unmount from the desktop, take the disk out of the computer and put it in
the psion. To boot up linux, startup ARLO from the Extras bar. You
will get a menu of flavors of systems to boot up - linux and linux.initrd
are already set up. The former boots using /dev/hda2 as the root filesystem,
while the latter uses an initrd (e.g., for fixing something with the /dev/hda2
filesystem). Hit return the normal multiuser system. Pan down for the linux.initrd
system. With the /dev/hda2 filesystem, you should get a login prompt - enter
"root", no passwords required. The /root/.profile file may be configured to
your preferences, e.g., font size.
On occasion at boot up the system goes wacko - so far
a simple reset/reboot has been effective, i.e., try it again. This
may have to do with the psion system having not quite booted up entirely from
the previous reset.
All done! Happy to take corrections or suggestions
for a better system. This system is hacked, to be sure.
I've written some notes on the timekeeping problem that may be found HERE. These
notes have largely been outdated by kernel advances - the RTC of the latest psion kernel
goes a long ways towards solving the timekeeping problem. Linux now has access to
the hardware clock.
You will need to get the tarball "disk1.tar.gz" for ArLo and a linux kernel
on the EPOC partition, and one of "newwoody.tgz" (an original, uncleaned up
version of Woody), "alt_woody.tgz" (a cleaned up version of Woody), or
"Xwoody.tgz" (a cleaned up version of Woody with a cleaned up X windows). "Cleaned
up" means that a large number of fonts, "foreign" language files, and metadata
have been removed - saving 10's of MB in disk space. The second tarball is
a linux filesystem to be unpacked on the 2nd ext2 filesystem of the compactflash.
The dos file system (kernel, ARLO, initrd.gz) can be obtained from
Sourceforge Files Get the disk1_May2006.tgz tarball under Arlo.
(2.5 MB to download, 3.6 MB unpacked).
The kernel that included in this tarball is Tony's 2.4.19
kernel; you may want to upgrade it if it is old. ARLO is
version 2.0.1; a GUI version that is started as an EPOC application. It also
includes the various timekeeping OPL programs I've put together. The tarball
also includes an initrd.gz.
N.B.: I've learned that the kernel included in this tarball will not work for
a 5MX PRO. If you have a 5MX PRO, please obtain the correct kernel from openpsion.org,
at this link. The kernel included in this tarball will not recognize the
compactflash card if
you have a 5MX PRO (but it will work fine for a 5MX). You may also want to
change the kernel for the uk or de version, if you have a uk or de keyboard.
You can try out picoGUI if you like, although
picogui doesn't seem like it is going anywhere. You can find the bits you need from
Tader's Psion 5MX Linux Pages
To start it up, first make sure you set the framebuffer depth
to 4bpp:"fbset -a 4bpp" [you can then darken the text to see something by "Fnc ."],
then execute /usr/local/bin/pgserver. Alas, it works marginally, and there are few
applications. PicoGUI is discouraged at this point.
Base Woody Distribution (February 10, 2003)
Woody has been formally updated to a stable state - Debian 3.0. It seemed time to
update the basic Woody distribution from the kludged version I started with. This
successful update is something of a breakthrough, since the original author of the
first woody.tar.gz tarball could not remember how to remake it, and until now I have
not been able to make it from scratch. I have written a set
notes on how to assemble this installation for the 5MX. The file tarball can be
Distributions (get newwoody.tgz)
(42 MB; 72 MB unpacked). Unpack the
tarball into /dev/hda2 of the compactflash disk (or to a local directory on your
PC). It is a primitive start of a linux distribution, based only on
"basedebs.tar" initial installation file. The procedure is sort of outlined in
Debian ARM Installation Manual. The original *.deb files can be found in the
tar ball in the /var/cache/apt/archive/ directory, and deleting them will clear up
about 21 MB of space. The distribution is mostly pristine - the only configurations
I made were to the /etc/fstab, /etc/inittab, /etc/rc, /etc/rc.inet
files (and other minor additions, e.g. a /root/.bashrc file ,
an /msdos directory, /etc/inetd.conf
file). /etc/fstab is set up for /dev/hda1 (msdos) and /dev/hda2 (ext2). This distribution
has internet and ppp installed. You can view the list of packages that have been
formally installed in this tarball by clicking on this list.
Cleaned-up Version I've cleaned up the above Woody package, and you can get it
from Distributions (get alt_woody.tgz) (10.7 MB download, 26 MB unpacked).
This package is almost identical to the above, but "non-essential" (?)
data and packages have been removed, together with the base *.deb
files. You can see a script that I used
HERE: psilinux.cleanup. The intention
is to manage the packages via a low-level dpkg install, so the apt
package has been removed.
X WINDOWS: I've collected the essential *.deb (and other) files
for X windows HERE, if you
want to install X. Download these files and
see the README there for how to proceed. It will install on the cleaned up Woody
package above. From 6-10 MB of files to download, depending on if you get the
fonts or not. Installation of X will bump your filesystem size from 26 MB up to about
40 MB, several MB larger if you install the fonts. Alternatively, I make available
from Distributions (get Xwoody.tgz) (17 MB download, 40 MB unpacked) which
contains these X windows *.deb files already installed and cleaned up. Many of
the "foreign" language files and fonts have been deleted from this filesystem. With
this tarball, merely boot up and type xinit to get X windows.
Release Notes I've now started a set of Release Notes
to describe problems/omissions/errata etc. with these tarballs.
Wondering where to get ARM binaries? You can now browse the
Debian packages, and conveniently download arm binaries, at
Debian Packages. These *.deb packages should
install without trouble on the filesystems above.