A linux distribution for the Psion 5mx
Based on the Debian Linux 4.0 arm port.
Kernel 2.4.30 glibc 2.3.6
The Psion 5mx, although now over-shadowed by the new generation of PDA, is still a very capable machine. Using its own proprietary EPOC operating system, it provides a basic organiser for most every day needs. Although development of the Psion and EPOC has ceased, it’s use can however be regenerated by the installation of the Linux OS. This allows the organiser to become a miniature, multi user, multitasking, network enabled UNIX machine, which can be used for many applications. Of course it has its limits, but for someone who is familiar with the Unix/Linux console tools it is surprising what can be achieved. I personally have used it to store contact details, keep notes, as a training tool, to browse the web, for E-mail and ICQ messages, and to write reports and catalogue information. It can be easily customised to the user’s requirements by installing various applications. Above all it has a proper keyboard, something I have always found essential for data entry.
The community which has done the work to enable Linux to be run on the Psion 5 and Psion 7 Netbook series had the website http://www.openpsion.org. Its members took the linux kernel arm source code and modified it to recognise the Psion hardware. They kindly made the modifications available in a collection of patches. They built a bootloader (arlo) and static working kernels v2.4.18, v2.4.19 and a modular kernel v2.4.27 and some file systems based on debian 3.0 and 3.1, which could be quite easily installed to a compact flash disk. The psilinux community seemed to fade away after completing Sarge Book (debian 3.1).
The general principal
The Psion 5mx comes with ROM, RAM and an optional flash disk (plug in card). The Operating System (EPOC) is stored in ROM, and on power up, this boots and runs (in RAM) with several built in, high quality applications. Data generated by application use, and newly installed (or written and compiled programs) are stored in RAM in an area which cannot then be used as program running memory (or are stored on the optional flash disk). All data in volatile memory is held there by the main batteries. Should the main batteries run down or during battery change, a lithium back up battery takes over this job. There is a mains powered 6v DC adapter for the Psion 5mx which can be used where mains power is available. Should the back up battery and the main battery both fail, all data stored in RAM is lost (so it must be backed up fairly regularly). The flash stored data however is retained, and because the OS is contained in ROM this remains intact. In the unlikely event of a rogue program refusing to halt there is a hidden reset button, which has the same effect as a power loss. Due to the sharing of RAM for application data and program running the more data stored there the slower the machine becomes, until ultimately programs refuse to load.
Linux running on the Psion 5mx is slightly different. The EPOC OS (in ROM) is still there and is used in some respect just the same as the BIOS in a PC. It boots the machine at first, and then a loader program (ARLO) is run which removes EPOC from running in RAM and loads the Linux kernel and runs this in RAM. ARLO provides the information to the kernel for where the root partition is, and then terminates, leaving Linux, it’s shell and applications to use RAM as the kernel sees fit. User data is stored on the flash disk, which is treated exactly as if it was the hard disk of a PC. On reboot (cntrl menu del or shutdown -r now), Linux is shutdown gracefully and the machine is returned to the EPOC OS, automatically running ARLO, showing the ARLO boot menu. It can be returned to EPOC by pressing the hidden reset button while the ARLO menu is showing. Pressing the reset button while Linux is running is likely to cause corruption of the file system on the flash disk.
The linux root
The root partition pointed to by ARLO for the kernel to mount and use as its file system is a true partition of files and directories on an ext2 file system on the flash disk. It behaves in exactly the same way as a PC hard drive. Some familiarity with Linux in general is helpful for getting it going and using it productively, but this Debian Linux pre-packaged distribution is fairly complete and ready to go so you can give it a try even if you haven’t tried Linux before.
1.1 Why Linux?
Linux source code is freely distributed. Tens of thousands of programmers have reviewed the source code to improve performance, eliminate bugs, and strengthen security. No other operating system has ever undergone this level of review. This Open Source design has created most of the advantages listed below.
Linux has the best technical support available. Linux is supported by commercial distributors, consultants, and by a very active community of users and developers. In 1997, the Linux community was awarded Info World’s Product of the Year Award for Best Technical Support over all commercial software vendors.
Linux has no vendor lock-in. The availability of source code means that every user and support provider is empowered to get to the root of technical problems quickly and effectively. This contrasts sharply with proprietary operating systems, where even top-tier support providers must rely on the OS vendor for technical information and bug fixes.
Linux runs on a wide range of hardware. Most Linux systems are based on standard PC hardware, and Linux supports a very wide range of PC devices. However, it also supports a wide range of other computer types, including Alpha, Power PC, 680×0, SPARC, and Strong Arm processors, and system sizes ranging from PDA’s (such as the Palm Pilot) to supercomputers constructed from clusters of systems (Beowulf clusters).
Linux is exceptionally stable. Properly configured, Linux systems will generally run until the hardware fails or the system is shut down. Continuous up-times of hundreds of days (up to a year or more) are not uncommon.
Linux has the tools and applications you need. Programs ranging from the market-dominating Apache web server to the powerful GIMP graphics editor are included in most Linux distributions. Free and commercial applications are available to meet most application needs.
Linux inter-operates with many other types of computer systems. Linux communicates using the native networking protocols of Unix, Microsoft Windows 95/NT, IBM OS/2, Netware, and Macintosh systems and can also read and write disks and partitions from these and other operating systems.
Linux has a low total cost of ownership. Although the Linux learning curve is significant, the stability, design, and breadth of tools available for Linux result in very low ongoing operating costs.
Linux: “all for one and one for all” All changes one makes in Open Source software will benefit each and everyone, all over the world. Without exceptions or constraints.
Linux is fun!
The main reasons for wanting to use Linux on the Psion 5mx are:
a) You already use it on the desktop and would like your palmtop to match up.
b) You have a particular piece of software you want to run which is available for Linux but not EPOC.
c) The tragic demise of Psion means that EPOC is no longer being developed. Linux however is under continual development and the excellent Psion hardware need not be wasted.
d) Linux is very stable and has a huge software base. All the software included here is free software (as in freedom, not cost), so you can change it if you want or need to – this gives you a flexibility you don’t get with a proprietary OS like EPOC. On the other hand Linux is more resource-intensive than EPOC. Whilst you can run it on a bare 5mx you can’t do much in the RAM available – it needs a Compact Flash card to be able to make a capable system with more than a couple of applications. The Psion PDA,s are better suited than many to running Linux because they have real keyboards, on most other PDA’s these are an extra. Its main draw back is it only has a greyscale screen, although it is a good size.
1.2. What Works
Most of the Psion 5mx hardware is supported, the exception being the custom icons around the screen for the EPOC applications and menus. The dictaphone buttons are assigned F13, F14, F15. and are configured to work (if Xorg is running), there is however quite a time lag (2-3 seconds) after pressing one of the buttons. The communications set up is good and very useable for IrDA as well as the serial port, as is the sleep mode and touch screen. Sound is supported by the 2.4.27 modular kernel and the 2.4.30 static and modular kernels. It contains all the basic elements of a Linux system: bash shell, pppd, telnet, ftp, editors, file manager, the Xorg window system with the matchbox window manager and gtk-menu setup, to give a simple graphical environment. The gcc compiler is included which works but is very slow and may over stretch resources in some cases and also requires swap. The print spooler lpd is included with magicifilter to allow printing of plain text, postscript and pdf to certain postscript enabled printers. The distribution also includes running telnetd, ftpd and httpd servers, the Matlab compatible Octave and gnuplot. Package installation is done by debian apt, which also requires swap enabled.
Kludged Linux has a number of features which make it useful:
• A reasonably up to date GNU/Linux system based on Linux kernel 2.4.30 and glibc 2.3.6.
• The Debian “apt” package manager so the user can customise as they wish.
• Carefully selected packages which have only been included if they are useful.
• Well set up communications to a desktop machine / modem / IRDA mobile phone to allow internet access.
• A simple window manager with a very low demand on resources and with a customisable menu.
1.4. The Psion 5mx Specifications
32-bit ARM 710T CPU (RISC based), running at 36.864 MHz
16 MB RAM
10 MB ROM (5mx)
Removable Disk Type
Type I Compact Flash (CF) Disks
640×240 (Half VGA)
Monochrome touch screen (16 shades)
EPOC (32 bit, multitasking)
Standard RS232 and SIR Infrared; up to 115200 baud
2 AA batteries, backed up by a CR2032 lithium battery
1/2 W, 8 Ohm loudspeaker
electret with active gain control
53 key, QWERTY layout
350g (with batteries)
0 to 40 C – and it really is likely to break if turned on below -5 C
2. Swapping between EPOC and Linux
EPOC stores its data and applications (on drive C:) in RAM. EPOC itself lives in ROM on the 5mx.
When Linux boots it takes over the RAM and thus erases anything previously there.
The Linux system can be halted or rebooted by the reboot command. This returns the machine to EPOC and on doing this the Psion automatically runs the arlo.exe program (giving the boot menu) by a file /system/data/wsini.ini
If the Compact flash is to be removed or the batteries changed, then power off the machine during the 5 seconds it displays this menu using (Fn – off) and then do it. After the compact flash has been removed, then power back on and the machine will start up into EPOC as if it had just had a hard reset. The space left on the compact flash card containing arlo.exe etc. is visible in EPOC as D: drive and Linux as /msdos. This space can be used by both to store/transfer files.
3. The Compact Flash Card Installation Procedure
You will need:
1. A Psion 5mx 16M (not the Psion 5mx pro 32M)
2. A Compact Flash card of 2G
3. A CF card to PCMCIA adapter or CF card to USB adapter
4. A PC or laptop running Linux although this could be a live CD distro such as Knoppix , SLAX or puppy Linux
5. The kludged Etch installation file (kef281120.tgz) and the etchbootfiles.zip containing the files and directories to boot the kernel.
6. Fit the flash disk into the Adapter and plug it into the machine running linux.
7. Do not mount the drive which should show as a drive (perhaps /dev/hde and I assume this for the following however dmesg |more will allow you to figure out what your cf adapter is in /dev/)
8. Type fdisk /dev/hde then type p to show the disk partitions status as it is now (which should be /dev/hde1 as vfat)
d to delete the current partition, and delete partition 1
n for a new partition.
p for primary partition
1 for partition hde1
for size choose 16M for hde1 and make it bootable (a) and type 4 (vfat) (t)
n for new partition
p for primary
3 for partition hde3
for size choose 64M for hde3 and make it type 82 (Linux swap) (t)
n for new partition
p for primary
2 for partition hde2
use all remaining size for hde2 and make it type 83 (linux ext2) (t)
p again to check the table is correct
w to write the table to disk.
q to quit.
(If you have never used fdisk before, type fdisk –help for some information.)
9. Having prepared the disk partitions we now format these partitions.
mkswap /dev/hde3 and then mkfs.ext2 /dev/hde2 and then mkfs.msdos /dev/hde1
mount -t vfat /dev/hde1 /mnt/hde1
mount -t ext2 /dev/hde2 /mnt/hde2 (assuming both /mnt/hde1 and /mnt/hde2 exist)
ls (this should show a subdirectory listed lost+found)
tar -zxvf /path to /kludged.tgz file (this will take several minutes and you should see the contents of the tar file being uncompressed and a file structure being written to the flash disk.)
10. When it has finished and returned to the prompt then umount /dev/hde2 and then copy over the files and directories in the (unzipped) folder (etchbootfiles) as they are. Then umount /dev/hde1 and remove the Flash disk
Installation is now complete, insert the card into the psion and navigate to D:\arlo\arlo.exe using the EPOC system and double click on arlo.exe to run it. If all went well, kludged will probably run a lengthy file check having not booted for thousands of days but eventually boot to a login prompt.
4. Setting Up The System
Login as root with root as the password.
Set the date and time by typing setdate then follow instructions.
Other users can be added by the adduser command. It would be a good idea to change the passwords to protect the accounts using the passwd command if you are storing any private information.
To remove the password “hints” at the login prompt edit /etc/issue
To setup ppp for a dial up modem.
Either use the pppconfig command: Follow through the instruction steps but do not auto detect the modem – it must be manually set as /dev/ttyAM1 for the comm port or /dev/ircomm0 for an IrDA modem.
After ppp has been setup using pppconfig, the command pon starts the dial up connection, and poff stops it.
To use the infra red port to connect to an IrDA mobile phone it must have a proper modem built in such as the Sony Ericsson’s. An infrared modem (such as the Psion dacom travel modem) can be used.
To enable the port type iron to disable the port type iroff. To test if the other end port is found after the iron commands is run, type ifconfig which will show local irda0 interface (and traffic) and then cat /proc/net/IrDA/discovery to show some details about the remote equipment. Then for instance after configuring ppp, you can connect to your dial up ISP via an IrDA mobile phone by typing iron and then pon. At time to disconnect, type poff then iroff.
Remember to type iroff after the infra red port is finished with (this saves battery life).
Communications to a Linux PC is also done using PPP. Copy over the files from the PC directory of pcfiles.tgz onto your Linux PC and put pcon and pcoff and ipm into /usr/bin on your Linux PC. Ensure they are chmod to executables, and edit them according to whether you will be using a serial link or IR link.
to the PC’s /etc/hosts file.
Then to communicate between the Psion and the PC connect using the serial cable to PC com1 and type pcon on the PC and pcon on the Psion. The two are then connected by TCP/IP. use ftp or telnet to talk to each other but note, user accounts must be set up on each as you cannot telnet or ftp using the root as a user normally. If the PC is running a web server you can browse its pages using the dillo browser.
pcoff on both the PC and Psion ends the connection.
I found the dial up connection using my mobile phone (IRDA modem to the psion) unbearably slow so I used my PC as a router to connect over my broadband connection, with the psion connected to the PC using ppp over a serial lead. I have included a simple router script (ipm) in pcfiles.tgz
The PC I used was connected to a broadband adsl router with eth0 (but any connection should work, perhaps wlan0 if the PC has a wireless connection to a router, type ifconfig -a to see all your interfaces).
Some experimenting may be necessary with your distribution (Oh the joys of Linux!)
4.1. The Matchbox GUI
To start the graphical environment you must be logged in as root.
Type startx. First the screen fills with a hatched grey pattern with a cross in the middle for a few seconds, then the normal matchbox screen is displayed.
Matchbox is a ’window manager’ optimised for small-screen devices. It does not have overlapping windows like most desktop window managers – instead each application gets the whole display and you can easily flip between the running applications. An application launcher menu is also provided, much like Window’s ’Start’ button. Switching between running apps is done using either the drop down menu in the top left hand corner of the display or the left/right buttons on the top right (the buttons go on to the next app in order until you get back to the one you started on). There are a number of Matchbox applets which if run appear on the bottom bar. By default the window manager runs a CPU Monitor, clock and the ’gtk-menu’ application launcher. These icons appear from left to right on the bottom bar. The square in the very bottom left hand corner shrinks the bottom bar. Tapping on the shrunken bar brings it back to full size.
The launcher button on the bottom bar is labelled ’Menu’. Click on this to get a list of applications. Note that there are many more command-line programs installed which do not have entries here – you need to run them at a command line. Below we will list the most significant programs.
To the left of the Menu applet is the CPU monitor. This displays the current percentage of CPU time the system is using in the form of a scrolling graph. The bars are lighter coloured up from the bottom. This monitor is very useful for determining if the system is busy or an application is starting up slowly; some apps take a very long time to start – up to 30 seconds for many GUI applications, or octave for example. Matchbox is designed to work with a single-button mouse / pen / touch screen interface which makes life easier on the Psion. However many UNIX applications assume you have a 3-button mouse, or at least a 2-button one, so it is useful to be able to generate these other two buttons. To use the pointer as a mouse, cntrl 3 gives right click, cntrl 1 gives left click and cntrl 2 gives middle click.
Xwindows can be exited to the console command prompt by cntrl-menu-del. Or from the exit submenu.
|Application||Name and link to description|
|Word Processors / text editors||joe nano-tiny (with nano and pico symlinked).|
|Servers||telnetd ftpd lpd micro httpd|
|Networking||netcat ftp telnet nmap|
|Database / PIM||attobase|
|Maths||xcalc gAcc gnuplot units octave|
The gcc compiler suite is included so programs obtained as source code can be compiled for the ARM based system, however be warned that the built in 16M of RAM may be insufficient, so to successfully compile an application it will be necessary to set up some sort of swap partition. (Section 3)
For applications help, use the help in the matchbox menu, or use the console man command, there are also some links above.
4.3. Mounting System Partitions
System mounts are specified in /etc/fstab and are mounted during system startup:
Default System Mounts
|Mount Point||Mounted Filesystem Description|
|/dev/hda2||/||second partition on CF card|
|/dev/hda1||/msdos||first (EPOC) partition on CF card|
|/proc||kernel data filesystem|
|/dev/pts||/devpts||devpts virtual file system|
|/dev/hda3||swap (not mounted by default)|
The EPOC partition uses the same format as DOS/Windows hard disk – the FAT filesystem. Mounting it as /msdos means that you can access any files you put on it from Linux as well as EPOC. This proves a useful way to transfer files.
4.4. The Keyboard and Setting Keys
Most of the PC keyboard functions have been met, but the ‘F1 – F10’ keys are achieved by Esc 1 – Esc 0.
Typing reset resets the console display, clear clears it.
The Psion 5mx keyboard is very different from the standard PC keyboard. We use the following special key assignments (UK keyboard):
|Psion key sequence||PC equivalent|
|Menu-1, Menu-2 etc||Alt-F1 (VT1) Alt-F2 (VT2) etc|
|Ctrl-Menu-Del||Ctrl-Alt-Backspace (Halt Xserver)|
|Esc-1, Esc-2 etc||F1, F2 etc|
Linux provides several virtual terminals that can be selected using Menu-1, Menu-2, etc. You can go back and forth between the various screens at will, and so multi-process. VT7 contains the X graphics display. Kludged Linux has 3 virtual terminals (this saves memory over the usual 6). /etc/inittab controls how many VTs are started. You can however, telnet in to the Psion over the serial link, and have many sessions running at the same time from a PC as a remote terminal.
The command dumpkeys > filename will dump out a set of key mappings that you can take a look at. loadkeys filename will then load in that keymap (with whatever modifications you have made to it). If you have trouble saving your special keys functionality, you can comment out or delete the lines for the special keys (e.g., the space key) to preserve their special functions (e.g., the backlight).
4.5. Frame Buffer Depth
The Psion 5mx screen can run in either 4-grey (2bpp – bits per pixel) or 16-grey (4bpp) modes.
Note that some graphical applications will not work at all on a screen of less than 256 colours/greys, so these will need modification to run on the Psion.
This distribution starts up in 4bpp, and the Xserver needs this mode to run.
Use fbset -a 2bpp (or fbset -a mono), fbset -a 4bpp, to set the framebuffer depth if needed.
4.6. Sleeping when not in use
The Esc/On key will take your Psion in and out of sleep mode just as it does for EPOC. If this doesn’t work then by far the most likely reason is the irattach daemon (which deals with infrared connections). If this is running it wakes the machine up again immediately so you can’t sleep. Until this is fixed you need to kill it in order to sleep the machine. Do this with iroff.
4.7. How do I get back to EPOC?
The Linux system can be halted or rebooted by the command reboot which shuts linux down and returns the machine to EPOC and on doing this the Psion automatically runs the arlo.exe program (giving the boot menu) by a file /system/data/wsini.ini. Remove power / batteries from the machine during this menu display. The shutdown command appears to ungracefully halt the OS and does not unmount the partitions before system halt.
After each reboot the time and date lag by the duration that the system was down as to keep the time approximately correct on reboot time is written to a file which is read again on startup. Hence occasionally after several reboots or a lengthy shutdown, the time with need to be adjusted using the script ‘setdate’.
If the Compact flash is to be removed or the batteries changed, then power off the machine during the 5 seconds it displays this menu using (Fn – off) and then do it. If you replace the CF card and power on, the menu may continue as normal, or you may need to select the exit option from the menu and try again.
If your machine is hung for some reason and you need to reset it manually, then:
Open the backup battery door and locate the small copper coloured circle near the battery, using a partly unfolded paperclip or similar, gently press in the copper coloured circle. Now close the backup battery door, and hit the Esc/on key. The machine should beep twice and then display the Psion splash screen. On the 5mx there is a delay while EPOC reads its system out of ROM and reloads it into RAM.
Note: While pressing the Esc/on key you may need to holding down both shift keys to encourage EPOC to
clear all memory, but this is not usually needed.
If the Compact Flash disk has been corrupted it can cause the reboot to fail – remove the disk to allow EPOC to start, and then reinstall your system to the disk.
4.8. Installing New Packages
Packages can be installed from the Debian Etch packages with varying degrees of success. As Etch has now been superseded these packages are only available from debian archives such as (here seems to work at present), and is entered in /etc/apt/sources.list. To install a package, make sure you have a swap partition of 64M or larger (section 3) and it is mounted with “swapon /dev/hda3”. Make sure you are connected to the internet, preferably through your pc (described above), then type apt-get update to update the package lists , and then apt-get install “package name”
Remember to “swapoff” after you are finished installing packages as CF disks can become degraded after many read / writes.
4.9. System Control
The kernel provides various ways of interacting with the special features of the Psion hardware. For example it flashes the ’recording’ LED during CPU activity so you can see how much work the system is doing by looking at the flash rate. The LED normally flashes quickly. When it is running flat out the LED is almost permanently on. When sleeping the LED doesn’t flash at all. Most of the other items such as the case opening status, and backlight, and accessed via the /proc filesystem. This gives you access to an enormous amount of information about the kernel and running application, networking status etc, but the bit which concerns the Psion hardware is the /proc/psionw directory. The name comes from Psion Windermere, which is the codename for the 5mx/5mx-Pro hardware. In here we have the following files:
State of the backlight – 1 is on, 0 is off. Read/write. Writing 1 will turn the backlight on , writing 0 will turn
State of the case switch – 1 is open, 0 is closed. This is read-only.
Current contrast setting for the display. Read-only.
CPU is the CPU speed in Mhz. Read-only.
Display power status – 1 is on, 0 is off. Read/write. Writing 0 will turn the display off, writing 1 will turn it
Mains power status – 1 is mains present, 0 is mains disconnected. Read-only
Sleep status – 1 is sleeping, 0 is running. Read/write. Writing 1 to this file will cause the machine to sleep.
These all contain 0 or 1 except contrast and cpu. Set a writeable value to 1 like this: echo “1” > backlight.
Type halt as root to shut the system down when you want to replace the batteries or remove the CF card.
Sound is supported. cat /dev/dsp > soundfile.al will record from the microphone and cat soundfile.al > /dev/dsp will play it. A mixer will need to be installed to vary volume. There is a sample sound in the matchbox menu. If sox is installed then the psion dictaphone buttons (assigned as F13, F14, F15) can be configured in /root/.keylaunchrc as follows:
key=…F14:killall -2 sox
I did try this and it does work, albeit there is a 2 – 3 second delay before anything actually happens, it also seems like a good way to fill up your CF disk.
You can print directly from the Psion to a serial or infra-red printer (or via a serial-to-parallel converter), or you can print to a network printer over the PPP network connection. The lpr, enscript and magicfilter packages are installed and the lpd daemon running, also /dev/lp0 and /dev/lp1 symlinked to /dev/ttyAM1 -this means text files can be printed directly to a parallel printer when connected to the serial port via a null modem lead and serial to parallel converter cable. A Patton 2029 cable was used during testing. Magicfilter seems to handle the format of printing well with text, certainly to the printers I tested it with. It can print postscript files from gv, but it does take a long time to process them, it took 3 minutes to print out my CV on an HP Deskjet 960c, and 12 minutes on an HP Laserjet6P. You can also print directly from Ted which outputs a postscript file. The netpbm graphic conversion tools are also installed to enable printing of (small) graphics in png and gif format. Printing of graphics is also very slow. Set up a printer using magicfilterconfig, selecting the correct or closest printer driver for your printer.
Use the command lpr filename to print, lpq to show a print queue and lprm to remove items from the queue.
A note about CF cards and the PCMCIA interface. Please see the following extract from the Open Psion FAQ,s
17.4. Q: My disk gives ETNA errors when my psion wakes up from sleep mode, or otherwise?
At present, the ETNA code (which governs compactflash in OpenPsion) is evolving. ETNA documentation has been lacking. Mainly, however, the various brands of compactflash cards behave differently in OpenPsion – some cards work very well, others work poorly or not at all. This may have to do with the type of controller the manufacturer put in the card (e.g., Hitatchi, Toshiba, or ??).
You can try backing up your system on a notebook computer, and then re-formatting the card, which has been known to be helpful.
You can also search for bad blocks on the disk. Some bad CF cards, have been “fixed” by running badblocks on it with destructive write test for each partition. Then use the *.badblocks file to mkfs. The command you might use is:
badblocks -o 96mb_sdb1_12mb.badblocks -w -p 2 /dev/sdb1
In one case, badblocks failed on a USB CF adapter, but then worked with a CF to PCMCIA adapter on a laptop.
Previous versions of kludged linux can be downloaded from the links below.
Kludged Sarge was based on the psilinux sargebook with a modular kernel v2.4.27 (their last work).
Kludged Woody was based on the psilinux Xwoody with a static kernel v2.4.19.
Last update 180121