====== Installation d'UNIX System III sur PDP-11 via l'émulateur SimH ====== ===== 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 **pdp11** de l'émulateur SimH. * Tous les fichiers qui composent UNIX System III pour PDP-11. ===== 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_PDP11 Se rendre dans le répertoire ''SysIII_PDP11'' : cd emulateur/simh/SysIII_PDP11 Télécharger les fichiers d'installation de UNIX System III pour PDP-11 : wget -r -np http://squoze.net/UNIX/sysIII_pdp11/files/ Déplacer les fichiers d'installation dans le répertoire courant : mv squoze.net/UNIX/sysIII_pdp11/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("boot", 512); end_file(); add_file("mini-root", 5120); end_file(); add_file("cpio.tape", 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_pdp11:install.ini]] : vim install.ini Démarrer le simulateur **pdp11** avec le fichier ''install.ini'' : pdp11 install.ini ==== Depuis le terminal du simulateur ==== n y 0 y y 0 yappuyez sur la touche ''Entrer'' après ''(e.g. p0001):''. Le simulateur se coupe automatiquement, tapez cette commande pour booter sur le disque : boot rp0 0après le caractère ''='' tapez : unixhptmpuis la touche ''Entrer''. stty erase # kill @ echo echo echo echo cd / mkfs /dev/rrp1 322278 7 418soyez un peu patient... labelit /dev/rrp1 usr p0002 mount /dev/rp1 /usr cd /usr cpio -idmB cd /usr/src cpio -idmB cpio -idmB cd /usr/man cpio -idmB Configuration du système pour passer en mode multi-utilisateur : mkdir /tmp mkdir /usr/adm ed /etc/rc /umount/ a /etc/umount /dev/rp1 . /umount/ a /etc/mount /dev/rp1 /usr . w q ln /unixhptm /unix Synchronisez le disque et quitter l'émulateur : sync sync sync sync syncpuis appuyez sur la combinaison de touche ''CTRL+E'' pour stopper le simulateur et 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_pdp11:boot.ini]] : vim boot.ini Démarrer //UNIX System III// nouvellement installé : pdp11 boot.ini ==== Retour au terminal du simulateur ==== UNIX System III démarrer tapez les commandes suivantes : 0après le signe ''='' entrez : unix init 2puis appuyez sur la combinaison de touche ''CTRL+D'' pour passer mode multi-utilisateur. Ensuite entrer le login (nom d'utilisateur) : root