The Machine Emulator

Schon immer hatte ich mir einen Sun3-Emulator gewünscht. Vor etwa einem Jahr wurde ich auf tme von Matt Fredette aufmerksam. Leider war Version 0.2 noch unkomplett und daher wenig nützlich. Doch seit ein paar Monaten ist Version 0.4 fertig und die sieht schon ziemlich gut aus!

Ich habe hier ein paar Tips zusammengestellt, die einige noch verbliebene Hürden glätten sollen. Sie kommen aus meinen selbst gemachten Erfahrungen und ich gebe keine Garantie für ihre Richtigkeit.

tme Bauen

Die Grafikausgabe beruht auf gtk-1.2. Dieses findet man auf gängigien Systemen nicht mehr, deshalb muss man es von einem gnu.org-Mirror herunterladen und installieren. Ich benutze den Standardpfad /usr/local.

tme-0.4 geht nicht mit --enable-shared (standardmäßig aber aktiviert), was bei keiner der von mir probierten Platformen funktionierte. Ich hatte viel mehr Glück mit --disable-shared.

Folgende Zeilen müssen zu .profile oder .bashrc hinzugefügt werden:

echo "PATH=$PATH:/usr/local/bin;export PATH"
echo "LTDL_LIBRARY_PATH=/usr/local/lib;export LTDL_LIBRARY_PATH"
Dann muss man glib, gtk und tme auspacken, bauen und installieren:
tar xzf glib-1.2.10.tar.gz
cd glib-1.2.10
./configure
make
make install (als root)
tar xzf gtk+-1.2.10.tar.gz
cd gtk+-1.2.10
./configure
make
make install (als root)
tar xzf tme-0.4.tar.gz
cd tme-0.4
./configure --disable-shared
make
make install (als root)
Damit sollte ein funktionierender tme in /usr/local liegen.

Auf folgenden Platformen habe ich erfolgreich tme benutzt: SuSE 9.3, SuSE 9.2, SuSE 8.2, NetBSD-1.6.2. Leider hatte ich auf Solaris 10/Sparc noch keinen Erfolg.


Tipps zur Sun 3/160-Emulation

Zuerst einmal folgt man den Anweisungen auf dieser Seite: Emulate a Sun 3/150 running NetBSD

Der Emulator ist ziemlich langsam (so wie eine echte Sun3 auch). Keine Panik! Wenn man ein wenig Geduld zeigt, ist das sehr hilfreich. Nach meiner Erfahrung bringt ein 700-800 MHz schneller Pentium-3 eine ähnliche Performanz wie eine Sun3 /60. Wenn man die Grafikausgabe über das Netzwerk auf ein anderes Display lenkt, bricht die Leistung ein wenig ein. NICHT über ssh tunneln, das bremst die Emulation gehörig aus!

Den Intel Ethernet ie0 braucht man gar nicht erst zu probieren, er funktioniert nicht. Leider!

Wenn man die seriellen Leitungen ttya oder ttyb akiviert, wird die Konsole dahin umgelenkt, unabhängig davon, ob Sun3-Tatstatur und Grafik aktiviert sind oder nicht.

Wenn geplant ist, NetBSD zu verwenden, sollte man mit den Anweisungen auf dieser Seite fortfahren: Emulate a Sun 3/150 running NetBSD.

Nur einen Rat habe ich dazu: Kein "löchriges" Plattenabbild verwenden. Es macht wenig Sinn, nur um ein bischen Plattenplatz zu sparen, dafür Performanz herzugeben; heutige Platten sind hundert, ja tausendmal größer als zu den guten alten Sun3-Zeiten.

Ich verwende ein üppiges, ca. 1 GB großes Plattenabbild:

dd if=/dev/zero of=my-sunos-disk.img bs=1000k count=1001
ls -l my-sunos-disk.img
-rwxr--r--    1 koch users 1025024000 2005-10-15 16:19 my-sunos-disk.img

Wenn man sich an SunOS 4.1.1 versuche will, gibt es ein paar kleine Änderungen:

  1. ACB-4000 anstelle des generic-scsi benutzen.
  2. Keine ungeraden Zylinder als Partitionsgrenzen am ACB-4000 verwenden.
  3. SunView funktioniert nicht auf der Farbgrafik, daher diese deaktivieren.
Man kann die SunOS-Installation erheblich beschleunigen, wenn man ein unkomprimiertes Bandarchiv verwendet. Wie das geht, kann man in meinem Artikel SunOS Install Media nachlesen. Für die Ungeduldigen:
wget -r http://www.sun3zoo.de/sun3arc/BootTapes/Sun3/index.html
mv www.sun3zoo.de/sun3arc/BootTapes/Sun3 my-sunos-tape
cd my-sunos-tape
uncompress *.Z
ln -s tpboot.sun3 01
ln -s SunOS411.sun3.Exa.xdrtoc 02
ln -s munix_sun3 03
ln -s munixfs_sun3 04
ln -s miniroot_sun3 05
ln -s sun3_proto_root.sunos_4_1_1.tar 06
ln -s sun3_usr.tar 07
:
: (die genaue Reihenfolge entnehme man meinem oben erwähnten Artikel)
:
ln -s sun3_security.tar 31
ln -s sun3_openwindows_programmers.tar 32
ln -s copyright_sun3_tape1 33
cd ..
foreach i (my-sunos-tape/??)
ln -s $i
end
Fertig! Nun kann man am Ende der Konfigurationsdatei MY-SUN3 noch das neue Band "einlegen" und den Emulator sofort starten:
command tape0 load 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
command mainbus0 power up
Wenn man X11R6 verwenden will, kann man bei der SunOS-Installation folgende Pakete auslassen: Wer den "dbx" vermußt, welcher das einzige nicht-grafische Programm im Paket debugging.tar ist, installiere Patch 100252-01.

Und diese Pakete habe ich noch nie installiert:

Alle anderen Pakete sind mehr oder weniger nützlich.

Folgende Plattenparameter habe ich für das 1 GB große Plattenabbild verwendet: 14700 Zylinder, 14702 physik. , 8 Köpfe, 17 Sektoren, 3600 rpm, Name "ACB 1GB".


Copyright 1999-2005