Ceci est une ancienne révision du document !
Table des matières
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
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
Supprimer noyau rkunix
:
rm rkunix
Création des fichiers de périphériques nécessaires avec la commande mknod :
/etc/mknod /dev/lp0 c 2 0
/etc/mknod /dev/pc c 1 0
/etc/mknod /dev/tty0 c 3 0
/etc/mknod /dev/tty1 c 3 1
/etc/mknod /dev/tty2 c 3 2
/etc/mknod /dev/tty3 c 3 3
/etc/mknod /dev/tty4 c 3 4
/etc/mknod /dev/tty5 c 3 5
/etc/mknod /dev/tty6 c 3 6
/etc/mknod /dev/tty7 c 3 7