Mini HowTo: C64 LUnix


Sogar für den C64 gibt es ein UNIX-Betriebssystem oder zumindest eine Unix(ähnliche)-Variante. Das Betriebssystem LUnix ist verhältnismäßig klein. Es passt auf eine einzige Diskette und erfordert keine Speichererweiterung. Zwar gibt es nicht viele Befehle wie bei einem echten Linux-System, aber dafür sind sogar ein TCP-Stack und einige Netzwerk-Tools enthalten, mit denen eine Verbindung zu anderen Rechnern aufgebaut werden kann. Außerdem ist LUnix mit der Super-CPU kompatibel und unterstützt die REU-Speichererweiterung.
Was wird benötigt?
  • C64 mit Diskettenlaufwerk oder C64-Emulator
  • Lunix

Versionen

Das LUnix-Projekt ist mittlerweile schon 23 Jahre alt und die Entwicklung scheint eingestellt worden zu sein. Die Version 0.21 ist die letzte die erschienen ist. Es gäbe zwar noch die Version pre 0.22 die nie fertiggestellt wurde, allerdings muss diese kompiliert werden. Die einzige Binär-Version die ich gefunden habe (siehe hier), wurde mit IDE64-Unterstützung kompiliert. Da die meisten von uns aber höchstwahrscheinlich keine IDE64-Hardware verwenden und ist diese LUnix-Version sich ohne entsprechende Hardware mit einem Kernel-Panik verabschiedet, ist sie für uns weniger interessant. Deshalb greife ich an dieser Stelle auf die Version 0.21 stable zurück. Wir laden also die Datei "lunix-c64.d64.gz" runter: sourceforge.net

Der erste Start

Nach dem Entpacken der Datei laden wir die D64-Datei mit einem Emulator, beispielsweise mit VICE64. LUnix ist kompatibel mit den SD2IEC, somit kann dieses verwendet werden, wenn das Betriebssystem einen echten C64 getestet werden soll. Der übliche Load-Befehl "LOAD"*",8,1" startet das Programm.

Nach einer etwas längeren Ladezeit sehen wir die LUnix Shell in der wir Befehle eingeben können.


Mit der Taste F3 wird ein zweites Terminal geöffnet. Um auch dort die Shell verwenden zu können, muss der Befehl "l sh" eingegeben werden, was so viel wie "load shell" bedeutet.


Nun kann mit den Tasten F1 und F3 zwischen beiden Programmen hin und her geschaltet werden. Die Tastenkombination SHIFT+Commodore-Taste erfüllt denselben Zweck.

Die Befehle

LUnix bringt eine ganze Reihe an Befehlen mit. Welche das sind, erfahren wir, wenn der Inhalt der Diskette aufgelistet wird (Befehl DIR). Denn dann sehen wir für jeden Befehl eine HTML-Datei in der eine kurze Beschreibung zu finden ist. Mit dem Befehl more wird der Inhalt der jeweiligen HTML-Datei aufgelistet. Beispiel:

more uname.html


An dieser Stelle werden nur einige Befehle erwähnt. Ich gehe davon aus, dass die Shell (l sh) geladen wurde. Wie in einer Linux-Shell üblich, wird mit der Cursor-Taste nach oben/unten der zuletzt eingegebene Befehl angezeigt. Das erspart viel Tipparbeit. Eine Auto-Complete Funktion (Commodore-Taste) ist ebenfalls vorhanden.

Befehl: ls oder dir
Funktion: Listet den Inhalt der Diskette im Laufwerk 8 auf.
/disk9/ls hingegen den Inhalt der Diskette im Laufwerk 9.

Befehl: ps
Funktion: Zeigt die aktuell ausgeführten Prozesse

Befehl: cp
Funktion: Kopiert eine Datei
Syntax: cp [Quell-Datei] [Ziel-Datei]
Beispiel: cp testdatei /disk9/

Befehl: rm
Funktion: Löscht eine Datei
Syntax: rm [Ziel-Datei]
Beispiel: rm /disk9/Datei

Befehl: uname
Funktion: Zeigt Informationen über das System an
Syntax: uname [Parameter]
Beispiel: uname -m

Eine serielle Verbindung aufbauen

Eine weitere Eigenschaft von LUnix ist die Netzwerk-Unterstützung. Denn es sind bereits diverse Befehle für die Konnektivität im Paket enthalten. In diesem Beispiel wird testhalber eine serielle Verbindung mit einem PC hergestellt. Dazu wird am C64 eine RS232-Schnittstelle benötigt. In meinem Fall ist das ein REX RS-232 9626 Interface.


Dieses Modul ist mittels Nullmodemkabel mit meinem Mac verbunden, funktioniert aber natürlich mit jeden Windows- oder Linux-Rechner genau so gut. Beachte, dass beide Rechner ausgeschaltet sein müssen, wenn das Modul oder das Kabel eingesteckt wird.

Am C64: Zuerst wird der Treiber für das RS232-Modul geladen. Dazu reicht es den Befehl rs232std einzugeben. Anschließend muss das Terminal geladen werden: 232term. Die Baudrate kann frei gewählt werden.


Am PC: Auch hier muss ein Terminal geöffnet werden, und zwar mit derselben Baudrate. In meinem Fall ist dies das Mac-Tool "Serial Tools". Nachdem die Verbindung hergestellt wurde, kann testhalber eine Nachricht an den C64 geschickt werden. Das funktioniert auch in die andere Richtung.