PSXLinux
# PSXLinux

PSXLinux (also known as Runix) is a Linux kernel and development kit for the PlayStation (MIPS-NOMMU). PSXLinux is based on the μClinux 2.4.x kernel and contains specific support for the Sony PlayStation.

## Features

* Serial console over RS232 SIO
* Virtual console over PlayStation GPU
* Multiple memory cards as storagedevice, block device driver
* USB host driver capable of keyboard and mouse support using a Cypress Semiconductor SL811

## Compiling the kernel

Various attempts to compile the kernel resulted into either errors or people unable to run the kernel from suggested bootmethods. A cross compiler is required to make the kernel compatible for the PlayStations CPU.

## Execution methods

### Over SIO (Serial)

Loading the compiled RUNIX binary (PS-EXE) into a PlayStation may be done by using a Serial Adapter (such as the Net Yaroze Serial Cable) or Parallel Port device (Xplorer, Caetla). Another method is by installing a modchip within the PlayStation and burning a CD-ROM containing the executable data that will allow the system to boot burned discs. Runix did supply some tools on their website to transfer files if one had obtained or built their own serial cable. The filename was: psx-serial.0.9.7.tar.gz

### From CD

Due to Linux ELF format not supported by the PlayStation, conversion is required and a suggested path is to first convert the Linux kernel file to ECOFF, the NetYaroze native executable standard. This can be done with an enclosed tool called elf2ecoff inside the kernel source. Next step is converting the ECOFF file to PS-EXE file, the format found on PlayStation game disks, after CD-ROM mastering a valid disk image.

## Multiple Memorycards as Storage

From Beta1 on the Runix sources support Multiple or single memorycards of the PlayStations default size or larger. Multiple memory cards could have been formatted using a tool Runix supplied on their website to format into Ext2. The tools to do so seem to be lost or no sources can be found only the name: psx-mcard.0.8.2.tar.gz

