Runix
Started in 2000, a Russian company named “Blokman Trading is R&D” started a research project into bringing Linux to the Playstation 1, and according to their website, also had a working port for the Playstation 2, unaffiliated from Sony. They called this project “Runix” and had various results posted on their website and probably advertised elsewhere in small amounts. Late 2002 it appears they finaly made their Playstation 1 port of a Linux disgtibution availeble.
This may sound like a easy thing to bring up and running, but sadly, the time has eroded parts of this historic OS away. We have 2 kernel versions and both have some intresting bit that we may look at in the future. For now, its important to note, that once you look into compiling and setting up a playstation to boot this variant of Linux, you lack the way to make a bootable medium. The sources to format a memorycard are nowhere to be found. People have asked arround tho, not sitting still and attempts have been made.
For now tho, without a seemingly public succes
Today
We have like i said, two kernel versions, PSXLinux-kernel-2.4.x-alpha2.tar.gz and PSXLinux-kernel-2.4.x-beta1.tar.gz and a crosscompiler set of kit, and some of us have had succes in compiling a kernel and getting it to run on either real hardware or an emulator. And yes, the original creators left us some website, someone wrote a how-to and it got translated, a forum thread created on psxdev.net, http://www.psxdev.net/forum/viewtopic.php?f=55&t=152
The missing piece, psx-mcard.0.8.2.tar.gz
An excerpt from the howto: At this point to have a correctly working Linux system, a root filesystem is needed. In Runix's project the root fs should be inserted in the PSX memory card, and it provides the 'psx-mcard' program that also requires the serial cable and is distributed as PSX ISO and PC binaries. Extracting the 'psx-mcard.0.8.2.tar.gz' file we find 'mem_card.example', a small but working ext2 filesystem that can be used as root filesystem or as an hint to create a new one.
We, sadly dont have this. and people have asked. Instead of finding it, we might be able to recreate a filesystem or method to boot one from any format that is supported or add a supported method. My attempt can be found on my github Linux on the Playstation 1, github
My attempt
For those curious. Ive attempted and still am from time to time to make some code that will format something that the kernel would take as a bootable media. https://github.com/CodeAsm/PS1Linux/tree/main/tools/psx-mcard will format a file to have the right header and some more. Currently tried to get ext2 onto this, even if small, maybe we can add a inird to the kernel and only optional extras from the memorycard. intresting to see how far I can go.
As suggested by upintheairsheep, would we ever mainline? I guess we could, if we get our sources up to a certain standart and … is Mips R3000 still supported by the Linux kernel somewhere? My main targets are:
- Get a bootable rootfs (and thus “boot” into a “shell”)
- proper patches or new source tree
- how modern can we get this (4, 5 or maybe even 6?)
There are many different ideas, like getting the usb host ic working, CF card support? would all be awesome, what about network?but none of these are fun, if we dont have a bootable fs, from some kind of medium.
More resources