Table des matières
Installation de UNIX System III sur VAX-11/780 via l'émulateur SimH
UNIX System III est le premier Unix commercial de l'entreprise AT&T, il est sorti en novembre 1981 et associait divers variantes internes au Bell Labs : Unix version 7, PWB/UNIX 2.0, CB UNIX 3.0, UNIX/RT et UNIX/32V. UNIX System III a été porté à la fois sur PDP-11 et VAX-11/780.
Prérequis pour installer UNIX System III
- Un interpréteur perl pour pouvoir créer la bande d'installation via le script
mkdisttap.pl
. - Un éditeur de texte (vim, nano, gedit…).
- Le simulateur vax780 de l'émulateur SimH.
- Tous les fichiers qui composent UNIX System III.
Processus d'installation d'UNIX System III
Depuis un terminal de votre système hôte
Installation des logiciels requis sous Debian :
sudo apt install perl wget vim simh
.deb
faîtes ceci : wget http://ftp.fr.debian.org/debian/pool/main/s/simh/simh_3.8.1-6.1_amd64.deb
puis :
sudo dpkg -i simh_3.8.1-6.1_amd64.deb
SimH n'a pas besoin de dépendances logicielles donc inutile de taper la commande sudo apt-get -f install
.
Installation des logiciels requis sous FreeBSD :
sudo pkg install perl wget vim open-simh
Création des répertoires pour UNIX System III :
mkdir -p emulateur/simh/SysIII_VAX
Se rendre dans le répertoire SysIII_VAX
:
cd emulateur/simh/SysIII_VAX
Télécharger les fichiers d'installation de UNIX System III :
wget -r -np http://squoze.net/UNIX/sysIII_vax/files/
Déplacer les fichiers d'installation dans le répertoire courant :
mv http://squoze.net/UNIX/sysIII_vax/files/* .
Contenu du script perl mkdisttap.pl
pour créer la bande d'installation :
- mkdisttap.pl
#!/usr/local/bin/perl -w use strict; # Based on the example in the HOWTO using dd. Does not work! # add_file("cat mtboot mtboot boot |", 512); # Based on the maketape.c program and the maketape.data data file. add_file("bootstrap", 512); end_file(); add_file("fixed_root.img", 5120); end_file(); add_file("cpio", 512); end_file(); add_file("root.cpio", 5120); end_file(); add_file("usr.cpio", 5120); end_file(); add_file("src1.cpio", 5120); end_file(); add_file("src2.cpio", 5120); end_file(); add_file("man.cpio", 5120); end_file(); end_file(); sub end_file { print "\x00\x00\x00\x00"; } sub add_file { my($filename, $blocksize) = @_; my($block, $bytes_read, $length); open(FILE, $filename) || die("Can't open $filename: $!"); while($bytes_read = read(FILE, $block, $blocksize)) { if($bytes_read < $blocksize) { $block .= "\x00" x ($blocksize - $bytes_read); $bytes_read = $blocksize; } $length = pack("V", $bytes_read); print $length, $block, $length; } close(FILE); }
#!/usr/local/bin/perl -w
par #!/usr/bin/perl -w
du fichier mkdisttap.pl
.
Le script perl mkdisttap.pl
est déjà présent, il faut juste le rendre exécutable :
chmod +x mkdisttap.pl
Créer la bande d'installation d'UNIX System III :
./mkdisttap.pl > dist.tape
Création du fichier install.ini :
vim install.ini
Démarrer le simulateur vax780 avec le fichier install.ini
:
vax780 install.ini
Depuis le terminal du simulateur
y
0
y
y
0
y
après What is the pack volume label? (e.g. p0001):
appuyez sur la touche Entrer
, cela renvoie vers l'invite sim>
.
Tapez :
q
pour arrêter l'émulateur SimH.
Retour au terminal de votre hôte
Création du fichier install2.ini :
vim install2.ini
Redémarrer le simulateur vax780 avec le fichier install2.ini
:
vax780 install2.ini
Retour au terminal du simulateur
unixhpht
echo </dev/mt4
echo </dev/mt4
echo </dev/mt4
echo </dev/mt4
/etc/mkfs /dev/rrp1 322278 7 418
labelit /dev/rrp1 usr p0002
mount /dev/rp1 /usr
cd /usr
cpio -idmB </dev/rmt4
cpio -idmB </dev/rmt4
cpio -idmB </dev/rmt4
mkdir man
cd man
cpio -idmB </dev/rmt4
Configuration du système pour passer en mode multi-utilisateur :
ed /etc/rc
/umount/
a
/etc/umount /dev/rp1
.
/mount/
a
/etc/mount /dev/rp1 /usr
.
w
q
ln /unixhpht /unix
Synchronisation du disque :
sync
sync
sync
sync
sync
Arrêtez l'émulateur en tapant la combinaison de touche CTRL+E
puis appuyez sur la touche q
après l'invite sim>
.
Retour au terminal de votre hôte
Création du fichier boot.ini :
vim boot.ini
Démarrer UNIX System III via l'émulateur :
vax780 boot.ini
Retour au terminal du simulateur
unix
init 2
puis appuyez sur la combinaison de touche CTRL+D
pour afficher l'invite login:
, puis :
root
sync
sync
sync
sync
sync
Vous pouvez parcourir UNIX system III et découvrir ses entrailles !
Pour arrêter l'émulation tapez simplement la combinaison de touche CTRL+E
puis après l'invite sim>
la touche q
.
Si vous souhaitez supprimer les fichiers et répertoire devenus inutiles :
rm -rf bootstrap cpio dist.tape fixed_root.img in* m* *.cpio sysiii_vax.tgz squoze.net
Exemple de démarrage d'UNIX System III
VAX 11/780 simulator Open SIMH V4.1-0 Current simh git commit id: d4f85d01 HALT instruction, PC: 00030040 (HALT) $$ unix UNIX/3.0.1: unixhpht real mem = 8323072 avail mem = 8207872 unix single-user # init 2 # -su: /usr/lib/acct/startup: not found process accounting started /etc/rc: /usr/lib/errdemon: not found errdemon started mv: cannot access /usr/adm/sulog mv: cannot access /usr/lib/cronlog /etc/rc: /usr/lib/cronlog: cannot create cron started multi-user type ctrl-d login: root UNIX Release 3.0 #
Pour stopper le système :
# ## Tapez la combinaison de touche "CTRL+E" Simulation stopped, PC: 80000625 (BLBC 8000BEF4,80000625) sim> q Goodbye