====== 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.
Juste pour info UNIX System III est le premier Unix à avoir intégré la commande **uname**, sous BSD cette commande n'a été intégré qu'à partir de **4.4BSD**.
===== 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
J'ai constaté que le paquet **simh** a été retiré de Debian 13. Si souhaitez récupérer et installer le paquet ''.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 :
#!/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);
}
Sous GNU/Linux il faut modifier le **shebang** (première ligne du fichier) ''#!/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 [[wiki:virtualisation_et_emulation:simh:tutos:sys3_vax: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 [[wiki:virtualisation_et_emulation:simh:tutos:sys3_vax: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
echo
echo
echo
/etc/mkfs /dev/rrp1 322278 7 418
labelit /dev/rrp1 usr p0002
mount /dev/rp1 /usr
cd /usr
cpio -idmB
cpio -idmB
cpio -idmB
mkdir man
cd man
cpio -idmB
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 [[wiki:virtualisation_et_emulation:simh:tutos:sys3_vax: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