🐧 PS1: Blackroo Linux bringt Linux 2.4 mit nur 2 MB RAM auf eine originale PlayStation

Eine beeindruckende technische Demonstration aus der PlayStation-Homebrew-Szene sorgt derzeit für Aufmerksamkeit: Entwickler arkwise hat die erste öffentliche Alpha von Blackroo Linux veröffentlicht. Das experimentelle Projekt bringt Linux 2.4 beziehungsweise uClinux direkt auf eine originale PlayStation 1 – und das mit gerade einmal 2 MB RAM.

Die aktuelle Version trägt den Namen Little Joey v0.5.0 und befindet sich noch in einer sehr frühen Entwicklungsphase. Trotzdem kann das System bereits auf echter PS1-Hardware booten und einen Linux-Shell auf dem Fernseher darstellen.

Linux auf der originalen PS1-Hardware

Die technischen Voraussetzungen machen das Projekt besonders beeindruckend. Die erste PlayStation verfügt über:

  • MIPS R3000A mit 33 MHz
  • 2 MB RAM
  • keine MMU
  • keine Festplatte
  • kein natives Tastatur-Interface
  • CD-ROM als Speicher für das Root-Dateisystem

Trotz dieser extremen Einschränkungen ist es Blackroo Linux gelungen, einen Linux-Kernel auf der ursprünglichen Hardware zu starten.

Das Root-Dateisystem befindet sich dabei direkt auf einer CD-R und wird beim Start über ISO9660 eingebunden.

Nach dem Bootvorgang steht dem Nutzer eine kleine Linux-Umgebung mit verschiedenen Kommandozeilenwerkzeugen zur Verfügung.

Dazu gehören unter anderem:

ls, cat, cp, mv, edit, df, ps, top, lshw, hexdump und fetch.

Damit wird die PlayStation 1 praktisch zu einem winzigen Linux-Terminal aus der Mitte der 1990er-Jahre.

PlayStation-Memory-Cards als Speicher

Besonders interessant ist die geplante beziehungsweise teilweise bereits vorhandene Unterstützung für die PlayStation Memory Cards.

Blackroo Linux kann den Speicher über den Kernel ansprechen und die Karten grundsätzlich formatieren und mounten. In der aktuellen Alpha gibt es dabei allerdings noch Einschränkungen, sodass die Funktion aus dem Userspace derzeit nicht zuverlässig arbeitet.

Die Entwickler gehen damit trotzdem einen ungewöhnlichen Weg und versuchen, vorhandene PS1-Hardware direkt in das Linux-System einzubinden.

Tastatur an der PS1

Eine weitere Herausforderung ist die Eingabe.

Die ursprüngliche PlayStation besitzt selbstverständlich keinen USB-Anschluss für eine moderne Tastatur. Blackroo Linux kann deshalb unter anderem mit einem BlueRetro-Adapter genutzt werden, über den sich eine Bluetooth-Tastatur anschließen lässt.

Alternativ kann ein FTDI-Adapter mit 3,3 Volt über die serielle Schnittstelle verwendet werden.

Damit lässt sich die PS1 tatsächlich als Linux-Terminal bedienen.

2 MB RAM sind eine gewaltige Einschränkung

Die aktuelle Version ist allerdings noch weit von einer vollwertigen Linux-Distribution entfernt.

Zu den bekannten Einschränkungen gehören:

  • Das Mounten einer Memory Card aus der Shell kann derzeit zu einem Absturz führen.
  • Der Kernel kann Memory Cards grundsätzlich mounten, die Userspace-Unterstützung funktioniert aber noch nicht vollständig.
  • Tastatur und Memory Card teilen sich denselben Bus.
  • Zugriffe auf Memory Cards können dadurch erhebliche Verzögerungen verursachen.
  • Schreibvorgänge auf eine Memory Card erreichen lediglich etwa 31 KB/s.
  • Varianten für 8 MB und 16 MB RAM existieren bereits, wurden aber noch nicht auf entsprechender echter Hardware validiert.
  • Die 8-MB-Version wurde bislang unter anderem auf DuckStation getestet.

Für spätere Versionen werden außerdem alternative Hardware-Lösungen untersucht, unter anderem auf Basis von Raspberry Pi beziehungsweise RP2040.

Linux von einer CD-R

Auch der Bootvorgang ist ungewöhnlich.

Das komplette System wird von einer CD-R gestartet. Der Entwickler weist allerdings ausdrücklich darauf hin, dass beim Erstellen der CD einige Besonderheiten berücksichtigt werden müssen.

Insbesondere kommt bei der Lizenzzone des Mediums Mode 2 Form 2 zum Einsatz. Eine herkömmliche ISO-Erstellung beziehungsweise das Brennen mit falschen Einstellungen kann deshalb dazu führen, dass die CD nicht korrekt von der PlayStation gelesen wird und das System am SCE-Bildschirm hängen bleibt.

Zum Starten des Projekts wird außerdem eine Möglichkeit benötigt, die PlayStation dazu zu bringen, entsprechende Homebrew-CDs auszuführen – beispielsweise über einen geeigneten Modchip oder Lösungen wie TonyHax beziehungsweise FreePSXBoot.

Eine bemerkenswerte Demonstration

Blackroo Linux will die PlayStation 1 keineswegs in einen modernen Computer verwandeln. Der eigentliche Reiz des Projekts liegt vielmehr darin, zu zeigen, wie weit sich die Hardware der ursprünglichen PlayStation ausreizen lässt.

Ein Linux-System auf einem 33-MHz-MIPS-Prozessor mit gerade einmal 2 MB RAM und ohne MMU zum Booten zu bringen, ist bereits eine bemerkenswerte technische Leistung.

Gerade deshalb ist Little Joey v0.5.0 interessant: Das Projekt befindet sich zwar noch am Anfang, zeigt aber eindrucksvoll, dass die Möglichkeiten der mittlerweile über 30 Jahre alten PlayStation-Hardware noch längst nicht vollständig ausgeschöpft sind.

Blackroo Linux dürfte damit vor allem für Homebrew-Entwickler, Hardware-Enthusiasten und Fans ungewöhnlicher Retro-Projekte interessant sein.

Download

Blackroo Linux – Little Joey v0.5.0 Alpha:
https://github.com/arkwise/blackroolinux/releases