Benutzer-Werkzeuge

Webseiten-Werkzeuge


emulation-weiterer-systeme-mit-simh:installation_und_einrichtung_von_research_unix_time-sharing_system_seventh_edition_v7_auf_einer_emulierten_dec_pdp-11_70_unter_simh

Installation und Einrichtung von Research UNIX Time-Sharing System Seventh Edition (V7) auf einer emulierten DEC PDP-11/70 unter SIMH

Vorraussetzungen

- DEC Tape Magnetband Research UNIX V7 von Keith Bostic im THUS-Verzeichnis

HINWEIS: Kommentare am Ende einer Zeile des Formulars:

[## Comment]

Konfigurationsdatei install.txt für die PDP-11 mit Research UNIX V7 unter SIMH

set cpu 11/45
set cpu idle
set rp0 rp06
att rp0 rp06-0.disk
att tm0 install_v7.tap
boot tm0

Installation vom DEC Tape

simh@debian:~/PDP-11_UNIX-V7$ ./../simh-Beta4/BIN/pdp11 install.txt

PDP-11 simulator V4.0-0 Current        git commit id: 5f8a8cca
Disabling XQ
RP: creating new file
Overwrite last track? [N]	[## Just hit enter]
Boot
:

Einfach die Eingabetaste drücken, damit die letzte Spur nicht überschrieben wird. Danach wird der Bootloader angezeigt. Es soll das dritte Programm vom Magnetband geladen werden, mkfs ausgeführt und die 'a'-Partition formatiert werden.

Boot
: tm(0,3)
file sys size: 5000
file system: hp(0,0)
isize = 1600
m/n = 3 500
Exit called
Boot
:

Die Blockgröße ergibt sich aus vorkompilierten Festplattengrößen im Kernel. Unix war damals nicht so dynamisch wie das, was wir in der heutigen Zeit so gewöhnt sind.

Boot
: tm(0,4)
Tape? tm(0,5)
Disk? hp(0,0)
Last chance before scribbling on disk.	[## Just hit enter]
End of tape
Boot
:

Sobald die Formatierung abgeschlossen ist, wird man zum Bootloader zurückgeworfen. Es wird das vierte Programm geladen, welches das Wiederherstellungsprogramm ist, um die Root-Partition wieder herzustellen.

Nun kann UNIX von der Festplatte gestartet werden, um das Betriebssystem einzurichten. Der Konsolentreiber gibt alles in Großbuchstaben wieder, alle Befehle werden jedoch in Kleinbuchstaben eingegeben. Es wird stty auf Kleinbuchstaben gesetzt, sowie Zeilenvorschub und Wagenrücklauf beschleunigt.

Boot
: hp(0,0)hptmunix
mem = 177344
# STTY -LCASE NL0 CR0
#

Kernel nach „unix“ kopieren und die anderen Versionen löschen.

# mv hptmunix unix
# rm hp*ix
# rm rp*ix
# ls *ix
unix
#

Festplattenlaufwerk RP06 in /dev erstellen.

# cd /dev
# make rp06
/etc/mknod rp0 b 6 0
/etc/mknod swap b 6 1
/etc/mknod rp3 b 6 7
/etc/mknod rrp0 c 14 0
/etc/mknod rrp3 c 14 7
chmod go-w rp0 swap rp3 rrp0 rrp3
#

Magnetbandlaufwerk TU10 in /dev erstellen.

# make tm
/etc/mknod mt0 b 3 0
/etc/mknod rmt0 c 12 0
/etc/mknod nrmt0 c 12 128
chmod go+w mt0 rmt0 nrmt0
#

Erstellen eines leeren Laufwerks auf Festplatte RP06 erstellen und es überprüfen.

# cd /
# /etc/mkfs /dev/rp3 322278
isize = 65496
m/n = 3 500
# icheck /dev/rp3
/dev/rp3:
files      2 (r=1,d=1,b=0,c=0)
used       1 (i=0,ii=0,iii=0,d=1)
free  314088
missing    0
# 

Magnetband vorspulen und das /usr-Dateisystem auf Festplatte RP06 wiederherstellen.

# dd if=/dev/r#nrmt0 of=/dev/null bs=20b files=6
202+80 records in
202+75 records out
# restor rf /dev/rmt0 /dev/rp3
Last chance before scribbling on /dev/rp3.	[## Just hit enter]
End of tape
#

/usr mounten, Bootblock auf die Festplatte kopieren und dann den SIMH-Emulator beenden. Es ist eine gute Idee, sicherzustellen, dass die Superblöcke unserer Dateisysteme geschrieben sind (synchronisiert) auf die Festplatte, bevor wir das Gerät virtuell ausschalten.

# /etc/mount /dev/rp3 /usr
# dd if=/usr/mdec/hpuboot of=/dev/rp0 count=1
0+1 records in
0+1 records out
# sync
# sync
# sync
# sync
#		                   [## Type CTRL-E (^E) here]
Simulation stopped, PC: 002306 (MOV (SP)+,177776)
sim> q
Goodbye

SIMH-Konfigurationsdatei start.txt der PDP-11 für den normalen Betrieb

Dies ist die Konfigurationsdatei der PDP-11/70 für den normalen Boot-Prozess von UNIX. Es wird direkt vom Festplattenlaufwerk RP06 gebootet. SIMH zeigt hier immer „Disabling XQ“ an und wartet darauf, dass „boot“ eingegeben wird, um den eigentlichen Boot-Prozess von der Festplatte zu starten.

echo
echo After Disabling XQ is displayed type boot
echo and at the : prompt type hp(0,0)unix
echo
set cpu 11/70
set cpu 2M
set cpu idle
set rp0 rp06
att rp0 rp06-0.disk
set dci en
set dci lines=4
att dci 2323
boot rp0

Der erste Systemstart

simh@debian:~/PDP-11_UNIX-V7$ ./../simh-Beta4/BIN/pdp11 install.txt

PDP-11 simulator V4.0-0 Current        git commit id: 5f8a8cca

After Disabling XQ is displayed type boot
and at the : prompt type hp(0,0)unix

Disabling XQ
boot	                   [## Type boot here to get the actual boot prompt]
Boot
: hp(0,0)unix
mem = 2020544
#		                   [## Type CTRL-D (^D) here to enter multi-user mode]

RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 19:03:27 EST 1969

login: root
Password:
You have mail.
#		                   [## Type CTRL-E (^E) here]

Simulation stopped, PC: 002306 (MOV (SP)+,177776)
sim> q
Goodbye

Das Standardpasswort für den Benutzer root ist 'root'.

.profile mit vernünftigen TTY-Standardeinstellungen

Nachdem die Datei .profile für root erstellt wurde, durch die Eingabe von ^d sich abmelden. Diese Datei kann auch für jeden der anderen Benutzer in deren jeweiligen Heimat-Verzeichnis erstellt werden.

# echo 'stty erase "^h" kill "^u" nl0 cr0'> .profile
# ^d

Einrichtung zur Unterstützung mehrerer TTY-Terminals

Damit mehrere serielle Terminals gleichzeitig am System sich anmelden können, sind in der start.txt folgende drei Zeilen implementiert.:

...
set dci en
set dci lines=4
att dci 2323
...

Somit sind an dem DC11-Gerät 4 Leitungen, dass auf dem Hostsystem auf Port 2323 lauscht. Der Port kann natürlich auf einen beliebigen unbenutzten geändert werden. Um die 4 DC11-Leitungen nutzen zu können, muss das UNIX-System neu konfiguriert werden und DC11-Geräte unterstützen. Die seriellen TTY-Schnittstellen müssen verfügbar sein und nach einer Telnet-Verbindung lauschen.

# cd /usr/sys/conf
# rm l.o c.o
# cp hptmconf myconf
# echo 4dc >> myconf
# mkconf < myconf
# make
as - -o l.o l.s
cc -c c.c
ld -o unix -X -i l.o mch.o c.o ../sys/LIB1 ../dev/LIB2
# sum unix
10314 106
# ls -l unix
-rwxrwxr-x 1 root 54122 Dec 31 19:09 unix
# mv unix /munix
# ed /etc/ttys
266
2,5s/./1/
w
266
q
# sed -n '1,6p' /etc/ttys
14console
10tty00
10tty01
10tty02
10tty03
00tty04
# /etc/mknod /dev/tty00 c 3 0
# /etc/mknod /dev/tty01 c 3 1
# /etc/mknod /dev/tty02 c 3 2
# /etc/mknod /dev/tty03 c 3 3
# chmod 640 /dev/tty0?
# cd /
# cp unix unix.bak
# mv munix unix

Auf dem Host-System muss allerdings ein Telnet-Client installiert sein. Diesen zum Beispiel unter Debian-Linux nachinstallieren.

sudo apt-get install telnet

Läuft der SIMH-Emulator mit der PDP-11, so kann auf dem Hostsystem ein zweites Terminal-Fenster geöffnet werden. Dadurch es ist möglich, über eine der seriellen DC11-Leitungen eine (weitere) klassische Telnet-Verbindung zur PDP-11 aufzubauen.

Weitere User unter UNIX V7 einrichten

Unter UNIX Time-Sharing System Version 7 gab es noch kein separates Kommando, mit dem sich ein neuer Benutzer erstellen lässt. Außerdem war es bereits seit dieser Zeit noch sehr lange üblich, dass die Verzeichnisse der Benutzer im Verzeichnis /usr abgelegt wurden. Der Ordnung halber wird wie auf den modernen BSD's, beziehungsweise wie bei Linux, das Verzeichnis /home angelegt, in dem dann die Ordner der einzelnen Benutzer gesammelt werden. Im Beispiel wird der Benutzer 'sommteck' angelegt. Der User wird durch das Bearbeiten der Datei /etc/passwd installiert.

ed /etc/passwd
141
$a
sommteck::10:1::/home/sommteck:
.
w
q
#

Das Sammelverzeichnis /home bekommt als Eigentümer 'bin'. Der Eigentümer des jeweiligen Benutzerverzeichnisses ist immer dieser selbst.

# mkdir /home
# chown bin /home
# mkdir /home/sommteck
# chown sommteck /home/sommteck

Mit dem Programm passwd kann für den Benutzer dann das Passwort gesetzt werden.

# passwd sommteck
New password:                [## secure password]
Retype new password:         [## secure password]
#
emulation-weiterer-systeme-mit-simh/installation_und_einrichtung_von_research_unix_time-sharing_system_seventh_edition_v7_auf_einer_emulierten_dec_pdp-11_70_unter_simh.txt · Zuletzt geändert: 2021/08/22 21:01 von sommteck