Running Linux On The Psion Mako/Revo

This experiment was last run on February 5, 2002. That's important because things will probably change at whim. I'll try to keep this updated, but you know how that goes.
     The first and biggest caveat on this page: what I did worked for me. I do not know if this is the right way to go about things, or even if it's just stupid. I am hoping to get some more seasoned vets to look at this and straighten me out on that, but no guarantees (of course).
     My machine is a Mako, which I think is a deadnuts clone of the Revo+ (16mb). I am led to believe this will also work fine on the Revo8mb models.

First, Get What You Need
     Going to the SourceForge psion/linux home page you'll find a general explanation of what was going on some months (or years) back. I found it nearly impossible to figure anything out, which is why this page exists.
     More useful for the various Series 5 machines (Mako, Revo[+]) is the "download" link where you can get what amounts to a full distribution that will work fine, such as it is.
     The question is, how do you get it working?
     You'll need a linux/unix box with plptools already operating. In my experience, the best way to get this going is to download the latest version and build or install it yourself. For some reason, the sets that come with both SuSE and RedHat are flaky on my machines (I haven't yet tried Debian out of laziness). Maybe my problem has to do with always running my own kernel built from sources, but I don't think so: I've tried on the standard kernels too.
     The plptools boil down to two approaches: plpnfsd and plpftp. For the most part, I find the latter a bit easier to work with, but when it comes to dumping multiple files into different directories, the nfs approach seems best. I have had trouble trying to copy an entire directory via plpnfsd, and have not tried to bone out where the hangup might be. But I digress: this page is not about plptools ... but this page is! It's a bit old, but mostly should still be useful.
     I do not know of any way to do this using windows, but there probably is one. Why would you want to?

Get Ready, Get Set...
     Preparation: first, back up your current system. Then, get rid of extraneous stuff until you have 7mb free (I don't know if this is a hard and fast rule, but it's stressed on the install notes). Don't worry about this stuff; you won't be using any non-system programs while you're in "fooling with linux" mode.
     After you get the tar.gz for your Psion, obviously you extract it to wherever you wish to work (really doesn't matter) and you'll find you have a new directory called "revo" with two large files (initrd.gz and linux.image -- each about 1.4MB) and two directories: System and arlo. The arlo directory will contain four modest files, but the System directory will have two more directories, Libs and Data, with a few more files in them.
     If you read the SourceForge pages at all, you'll know arlo is the ARM version of lilo, and at that point you'll know about as much as I do on that subject.
     This directory structure may be important, and I mention it in detail because I decided that the idea was to emulate this structure on the Revo/Mako. It worked, so you might as well make the same assumption.
     Complication number one: There will certainly be a System directory already on your machine. You should put the files from the untarred System directory in there without otherwise altering it. You will need your original system files because arlo does not boot directly per lilo, but after your psion has already started in "native" mode.
     There may or may not be a "Libs" directory (note that, on the psion, case is not important until Linux actually starts, so libs, LIBS and Libs are equivalent at this point). If it's there, put the stuff from downloaded Libs into it; if it's not, create it.
     The two major files should go directly into the C:\ directory.
     You will have to create the arlo directory, and place the four arlo-related files into it.
     Now here's a step you'll greatly appreciate if you follow my advice: back up this configuration. If you can do so using the psion tools for windows, that's the easiest plan. If you really start playing around, you will inevitably have to restart your Revo, and for some reason this will result in the loss of all the Linux seeds you just planted. Getting back to "go" some easy way is a Very Good Thing.
     A sidenote: be very careful not to fool around while downloading the various files to your Revomako. I accidentally hit my keyboard while plpftp-ing initrd.gz to the Mako, and I think that corrupted it. The result was a working arlo that went nowhere and locked my system completely.
     There is no doubt some clever way to restart from here, but even the double-paperclip trick didn't work, and in the end I had to open up the Mako and "pull the plug." This is fun but scary; I'll eventually post some pictures and a description of how to get at your battery.

     At this point, you're ready to "boot" with no further ado. How? Just double-click into the arlo directory, then double-click arlo.exe and hold your breath.
     If all went well, you'll be presented with a text prompt offering four choices: 0, 1, a or x. Selecting 0 will tell you your Epoc system is running. Woo. Choosing x will back you right out, and if you want you can start arlo again. I suggest this, as it will give you a warm, safe feeling that is completely unjustified.
     Now for the fun part: try choosing a, then i. Fun, huh?
     Press any key, then "e" for "expert" (doesn't that feel just grand) then "r" and (warmfuzzy) return. Fool around with this stuff at your own risk; I suggest avoiding most of it.
     Type a to get back to "advanced" mode, and hit return. Decision time: feel like going further, or do you need a rest? If the latter, this is your last chance to return to your configuration as you know it (without restoring the state from your MotherShip). At this point, x will still return you to Revomode with your linux files intact. After this, forget it (what you'll get is a running Revo, but the linux files mysteriously zapped after you reboot).
     Choose the number 1 option: single user mode. This is the real thrill: it's booting Linux! You should get a fairly good Tux in the upper left, and the usual flood of text. If your machine is like mine, the text will be in a barely readable gray, my first major gripe..
     Anybody know how to get this to yield black text that can actually be read? This annoying gray will persist throughout your terminal session.
     Next you'll get a window with the usual Debian blahblah, and the option Continue. Since that's the complete list of choices, pretend it was what you wanted to do and hit return.

     This is the tricky part. So far, I've only found one choice that works at this point -- All Others Lock You Up. This "installer" seems to expect a hard drive, which you don't have.
     Using the down arrow key, patiently plod through the choices until you get to Execute A Shell. You might not believe it will eventually appear, but it will. Hit return.
     There you are, in ash! The easiest way to start fooling around (assuming you've found a light source bright enough to let you read the light gray text) is ls /bin (and /sbin and /usr/sbin) to see what you've got at your disposal. I haven't finished my inventory yet, but at this point you're current with me.
     Incidentally, if anyone figures out where the | (pipe) key is, please let me know!
     Exit will get you back to the Nazi menu, and you can restart the shell or Reboot The System. That's about it. After you do, your Linux installation will be vapor, so fool around before trying this. Alternately (and easier) you can just type "reboot" at the ash prompt, and you'll be back in Revoland (again, with no linux files).
     Choosing other options in the installerNazi menu has so far locked me into it, with no option other than to paperclip out.
     At this point, you know as much as I do. If I find out anything more (and as corrections float in) I'll try to keep things updated.

     Due to the humble state of documentation surrounding this project, I have no idea how to expand the file system or capabilities on machines that don't have compact flash to masquerade as a hard drive. There may be some way to mount an expanded file system, or it may have to be inherent in the files when you start.
     There will be two main branches of development, I'd guess: machines with flash (not me) and those without. But I'm not sure enough about this stuff to even guess with conviction at this point.


Dave North