Wiki Ordunix

Linux, FreeBSD, macOS, Windows et Histoire Informatique

Outils pour utilisateurs

Outils du site


wiki:virtualisation_et_emulation:simh:tutos:unix-v6

Ceci est une ancienne révision du document !


Unix version 6 sur PDP-11 avec émulateur SimH

Prérequis pour Unix version 6

Création des répertoires pour Unix version 6 :

mkdir -p emulateur/simh/Unix-V6

Se rendre dans le répertoire nouvellement créé :

cd emulateur/simh/Unix-V6/

Télécharger la bande d'installation d'Unix Version 6 :

wget http://squoze.net/UNIX/v6/files/dist.tap
Sous FreeBSD tapez cette commande :
fetch http://squoze.net/UNIX/v6/files/dist.tap

pour télécharger la bande d'installation.

Processus d'installation d'Unix version 6

Installation du système de fichiers racine

Créer fichier install.ini avec votre éditeur de texte dont le contenu est le suivant :

set cpu 11/40
set tm0 locked
att tm0 dist.tap
att rk0 disk0.rk
att rk1 disk1.rk
att rk2 disk2.rk
d 100000 012700
d 100002 172526
d 100004 010040
d 100006 012740
d 100010 060003
d 100012 000777
g 100000
g 0

Booter à partir de install.ini avec simulateur PDP-11 :

pdp11 install.ini

puis appuyez sur la combinaison de touche CTRL+E.

Après le signe = tapez :

tmrk
O
100
1

Le signe = s'affiche à nouveau, tapez :

tmrk
1
101
3999

À l'affichage = tapez CTRL+E.

À l'invite de commande de SimH sim>, tapez :

boot rk0

après le signe @ tapez :

rkunix

pour démarrer Unix à partir du premier disque rk0.

Au login: entrer l'utilisateur :

root

Création des fichiers de périphériques

Utilisation de l'outil mknod :

/etc/mknod /dev/rk0 b 0 0
/etc/mknod /dev/rk1 b 0 1
/etc/mknod /dev/rk2 b 0 2
/etc/mknod /dev/rrk0 c 9 0
/etc/mknod /dev/rrk1 c 9 1
/etc/mknod /dev/rrk2 c 9 2
/etc/mknod /dev/mt0 b 3 0
/etc/mknod /dev/rmt0 c 12 0

Copie des disques suivie de leurs montage

Copiez les disques :

dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100
dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100

Montez les disques :

/etc/mount /dev/rk1 /usr/source
mkdir /usr/doc
/etc/mount /dev/rk2 /usr/doc

Édition avec ed de /etc/rc pour le montage des disques au démarrage :

ed /etc/rc
2
a
/etc/mount /dev/rk1 /usr/source
/etc/mount /dev/rk2 /usr/doc
.
w
q

Synchronisation des disques :

sync
sync
sync

puis on coupe le simulateur avec les touches CTRL+E, et enfin :

q

à l'invite sim> de SimH.

Résumé de l'intégralité du processus avec le fichier install.ini

PDP-11 simulator Open SIMH V4.1-0 Current        simh git commit id: d4f85d01
Disabling XQ
/home/beastie/emulateur/simh/Unix-V6/install.ini-3> att tm0 dist.tap
%SIM-INFO: TM0: Tape Image 'dist.tap' scanned as SIMH format
/home/beastie/emulateur/simh/Unix-V6/install.ini-4> att rk0 disk0.rk
%SIM-INFO: RK0: Creating new file: disk0.rk
/home/beastie/emulateur/simh/Unix-V6/install.ini-5> att rk1 disk1.rk
%SIM-INFO: RK1: Creating new file: disk1.rk
/home/beastie/emulateur/simh/Unix-V6/install.ini-6> att rk2 disk2.rk
%SIM-INFO: RK2: Creating new file: disk2.rk

Simulation stopped, PC: 100012 (BR 100012)
=tmrk
disk offset
0
tape offset
100
count
1
=tmrk
disk offset
1
tape offset
101
count
3999
=
Simulation stopped, PC: 137274 (TSTB @#177560)
sim> boot rk0
@rkunix

login: root
# stty erase # kill @
# stty cr0
# /etc/mknod /dev/rk0 b 0 0
# /etc/mknod /dev/rk1 b 0 1
# /etc/mknod /dev/rk2 b 0 2
# /etc/mknod /dev/rrk0 c 9 0
# /etc/mknod /dev/rrk1 c 9 1
# /etc/mknod /dev/rrk2 c 9 2
# /etc/mknod /dev/mt0 b 3 0
# /etc/mknod /dev/rmt0 c 12 0
# dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100
4000+0 records in
4000+0 records out
# dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100
4000+0 records in
4000+0 records out
# /etc/mount /dev/rk1 /usr/source
# mkdir /usr/doc
# /etc/mount /dev/rk2 /usr/doc
# ed /etc/rc
28
2
/etc/update
a
/etc/mount /dev/rk1 /usr/source
/etc/mount /dev/rk2 /usr/doc
.
w
89
q
# sync
# sync
# sync
# sync
# sync
# 
Simulation stopped, PC: 002502 (MOV (SP)+,177776)
sim> q
Goodbye

Recompilation du noyau et de la configuration du système

Vous pouvez supprimer install.ini et la bande d'installation qui ne sera plus utile :

rm install.ini dist.tap

Créer un fichier boot.ini pour redémarrer le simulateur PDP-11 avec ce contenu :

set cpu 11/40
att rk0 disk0.rk
att rk1 disk1.rk
att rk2 disk2.rk
; att tm0 scratch.tape
; att lpt printer.txt
; att ptp paperout
; att ptr paperin
set dci en
set dci lines=8
att dci 1106
d sr 1
b rk

Lancer le simulateur PDP-11 avec boot.ini :

pdp11 boot.ini

Après le signe @ tapez :

rkunix

Et à la demande du login :

root

Suppression des noyaux inutiles et compilation du nouveau noyau :

rm hpunix rpunix unix
chdir /usr/sys/conf
cc mkconf.c
mv a.out mkconf
cat >myconf
rk
tm
pc
8dc
lp

puis appuyer sur la combinaison de touche CTRL+D pour revenir à l'invite de commande.

mkconf <myconf
as m40.s
mv a.out m40.o
ld -x l.o m40.o c.o ../lib1 ../lib2
mv a.out /unix
sync
sync
sync

puis CTRL+E pour stopper le simulateur.

À l'invite sim> booter sur le disque rk0 :

b rk0

Après le signe @ tapez :

unix
wiki/virtualisation_et_emulation/simh/tutos/unix-v6.1759237562.txt.gz · Dernière modification : de Thibault Seguin