PS1:Linux

From ConsoleMods Wiki
Revision as of 14:17, 4 March 2022 by Derf (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

While not as useful today, one can compile and run Linux on their Playstation 1. An older project from a Czech company called Blokman Trading, made a port of Linux called Runix for the PS1. Its based on the now way old Linux 2.4 Kernel and has supposedly support for memory unit storage, multi memory unit support (up to 4, for more storage) and a usb port connected to a special board they made connected on the PIO port. based on the SL811H IC. RTC support aswell. possibly all by means of additional hardware connected to the PIO port.

So far we can make and run the kernel, sources and/or memory unit images are missing and we cannot boot into a filesystem as of yet

Compiling Linux

To compile PSXLinux kernel you will need:

  1. Cross-compiler (egcc-1.1.2) and binutils-2.9.5 for Linux/i386 host and MIPS little endian target.
  2. Binaries may be downloaded from http://www.runix.ru or http://oss.sgi.com/mips.
  3. PSXLinux kernel source tree. Download free the latest version from http://www.runix.ru.
  4. PSXLinux kernel source tree installation and compilation.
  5. Create directory where kernel sources will be installed an put kernel archive in it.
  6. Unpack kernel archive.
  7. gzip -cd <name>.tar.gz | tar xvf -
  8. Delete stale object files and dependencies.
  9. make mrproper
  10. Configure kernel.
  11. make config -- bash based configuration tool or make menuconfig -- text based color configuration tool with menus, radiolists & dialogs or make xconfig -- X windows based configuration tool You may load one of prepared configurations from file Config (simple configuration without Runix hardware add-on support) or Config_Addon (configuration with Runix hardware add-on support).
  12. Compile kernel. You will get compiled kernel 'linux' in the directory where kernel sources was installed (current directory).
  13. make

Running Linux

TODO Most emulators allow to load a bare EXE, the kernel should be able to be loaded this way. The Kernel is in the mips elf format and needs to be converted into a PSX exe. progress has been made by using the windows elf2psc tool.

elf2psx -p PSXLinux/linux bin/kernel.exe

now NO$PSX is able to run this kernel. It will boot and panic, explaining it cannot find its rootfs (from MU)

Downloads

Due to the original Runix website being gone (and on archive) here are some of the important files: https://code.google.com/archive/p/runix-archive/downloads

TODO

  1. Describe running methods on real hardware
  2. kernel debugging
  3. Memory unit formatting
  4. crosscompiling busybox or other (init) applications.