====== 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.debpuis : 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 yaprès ''What is the pack volume label? (e.g. p0001):'' appuyez sur la touche ''Entrer'', cela renvoie vers l'invite ''sim>''. Tapez : qpour 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 2puis 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