====== Installation de la version d'origine de 4.3BSD sortie en juin 1986 sur VAX-11/780 sous l'émulateur SimH ====== {{ :wiki:virtualisation_et_emulation:simh:tutoriels_sur_simh:capture_d_ecran_du_2025-03-18_13-39-08.png?nolink&1000 |}} ===== Prérequis à l'installation de 4.3BSD sous SimH ===== * Il vous faut un interpréteur **perl** et le script perl ''mkdisttap.pl'' spécifique à **4.3BSD**. * Le logiciel d'archivage nommé **tar** et le logiciel de compression/décompression appelé **gzip**. * Le logiciel nommé **uudecode** que vous pouvez retrouver sous **BusyBox** ou dans le paquet du nom de **sharutils** pour pouvoir décoder le code d'amorçage de **4.2BSD** (à télécharger) compatible avec 4.3BSD. * Le fichier binaire de **SimH** du nom de **vax780**, qui est le simulateur du **VAX-11/780**. * Un éditeur de texte de votre choix. * Les sets du 4.3BSD d'origine disponible sur **The Unix Heritage Society** (**//TUHS//**), qui sont : * ''ingres.tar.gz'' * ''miniroot.gz'' * ''new.tar.gz'' * ''rootdump.gz'' * ''src.tar.gz'' * ''srcsys.tar.gz'' * ''stand.gz'' * ''usr.tar.gz'' * ''vfont.tar.gz'' ===== Installation, configuration et téléchargement des éléments nécessaires sous Debian ===== Installation de perl : sudo apt-get install perl Installation de SimH : sudo apt-get install simh Installation de uudecode : sudo apt-get install sharutilssi vous souhaitez utiliser uudecode sans installer le paquet ''sharutils'', vous devrez utilisez la commande ''busybox uudecode nom_fichier''. Installation de wget : sudo apt-get install wget Installation d'un éditeur de texte : sudo apt-get install vimou : sudo apt-get install nanopour ceux qui préfèrent **nano** mais il est normalement installé par défaut sous **Debian**. Dans notre répertoire personnel (''/home/user''), on créé le, les répertoires de travail pour notre installation de 4.3BSD : mkdir -p emulateur/simh/4.3BSDet on se rend dans le répertoire de 4.3BSD : cd emulateur/simh/4.3BSD Téléchargement des tous les sets de 4.3BSD avec wget : wget -r -np https://www.tuhs.org/Archive/Distributions/UCB/4.3BSD/puis : mv -v www.tuhs.org/Archive/Distributions/UCB/4.3BSD/*.gz .et pour finir : rm -rf www.tuhs.org/ Le fichier script perl (''mkdisttap.pl'') pour créer une bande de 4.3BSD : #!/usr/bin/perl -w use strict; # Based on mkdisttap.pl # ftp://ftp.mrynet.com/pub/os/PUPS/PDP-11/Boot_Images/2.11_on_Simh/211bsd/mkdisttap.pl # # $Id: mkdisttap.pl,v 1.1 2006/09/16 23:33:46 kirk Exp kirk $ # # 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("stand", 512); end_file(); add_file("miniroot", 10240); end_file(); add_file("rootdump", 10240); end_file(); add_file("srcsys.tar", 10240); end_file(); add_file("usr.tar", 10240); end_file(); add_file("vfont.tar", 10240); end_file(); add_file("src.tar", 10240); end_file(); add_file("new.tar", 10240); end_file(); add_file("ingres.tar", 10240); 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); } Pour [[wiki:systemes_d_exploitation:bsd_unix:freebsd|FreeBSD]] et si vous installez SimH par compilation sous [[wiki:systemes_d_exploitation:gnu_linux:debian|Debian]] ou autres [[wiki:systemes_d_exploitation:gnu_linux:distributions_linux|distributions GNU/Linux]], il faut modifier le **shebang** (la première ligne du fichier) ''#!/usr/bin/perl -w'' par ''#!/usr/local/bin/perl -w''. Le fichier du code d'amorçage de 4.2BSD, compatible avec 4.3BSD : [[wiki:virtualisation_et_emulation:simh:tutoriels_sur_simh:installation_de_la_version_d_origine_de_4.3bsd_de_l_ucb_sur_vax-11_780:boot42.uue]] Puis copier ce fichier dans un fichier nommé ''boot42.uue'' avec vim ou nano selon vos préférences. Désormais nous allons décoder le fichier ''boot42.uue'' : uudecode boot42.uueou sous BusyBox : busybox uudecode boot42.uuesuite à cela, un fichier binaire du non de ''boot42'' est créé. Décompresser les sets de 4.3BSD avec gzip : gzip -d *.gzpuis rendez le script perl ''mkdisttap.pl'' exécutable : chmod 755 mkdisttap.plpour finir, créer la bande d'installation de 4.3BSD avec le script perl ''mkdisttap.pl'' : ./mkdisttap.pl > 43bsd.tapvous pouvez désormais supprimer certains sets pour nettoyer votre répertoire dédié à 4.3BSD : rm *.tar Il se peut que la version de SimH sous **Debian** soit trop ancienne pour installer 4.3BSD, dans ce cas, je vous conseilles de télécharger la dernière version SimH à cette [[https://simh.trailing-edge.com/|adresse]] ou encore mieux, télécharger **Open-SimH** qui contient davantage de simulateurs d'ordinateurs, vous pouvez trouver Open-SimH, [[https://github.com/open-simh/simh|ici]]. ===== Processus d'installation et de configuration de 4.3BSD ===== ==== Première phase d'installation de 4.3BSD ==== Créez un fichier de configuration pour la première phase de démarrage du simulateur du VAX-11/780 de l'émulateur SimH nommé ''install.ini'' : set rq0 ra81 at rq0 miniroot set rq1 ra81 at rq1 rq.dsk set rq2 dis set rq3 dis set rp dis set lpt dis set rl dis set tq dis set tu dis att ts 43bsd.tap set tti 7b set tto 7b load -o boot42 0 d r10 9 d r11 0 run 2puis copier se fichier texte dans le fichier ''install.ini'' avec l'éditeur de texte de votre choix: vim install.iniou pour ceux qui préfèrent l'éditeur simplifié nano: nano install.ini Lancez le simulateur du VAX-11/780 de SimH via le fichier de configuration ''install.ini'', le fichier binaire du simulateur est ''vax780'' : vax780 install.ini À l'invite de commande ''#'' de 4.3BSD (à l'intérieur du simulateur), entrez ce qui suit : cd /dev ./MAKEDEV cd / Toujours dans le simulateur, tapez plusieurs fois la commande ''sync'' pour synchroniser le disque : sync sync sync Enfin tapez la combinaison de touche ''Ctrl+E'' pour stopper le simulateur et validez par ''q'' à l'invite ''sim>'' : sim> q ==== Seconde phase d'installation de 4.3BSD ==== Maintenant que l'on a configurer le disque dur ''virtuel'' de 4.3BSD, on créé un second fichier de configuration du nom de ''boot.ini'' : set rq0 ra81 att rq0 rq.dsk set rq1 dis set rq2 dis set rq3 dis set rp dis set lpt dis set rl dis set tq dis set tu dis att ts 43bsd.tap set tti 7b set tto 7b load -o boot42 0 d r10 9 d r11 0 run 2 Comme précédemment utilisez, vim ou nano : vim boot.iniou : nano boot.ini Relancer le simulateur ''vax780'' avec le fichier de configuration ''boot.ini'' : vax780 boot.ini À l'intérieur du simulateur ''vax780'', entrez les commandes suivantes, pour configurer la bande d'installation ''43bsd.tap'' et le type ''ra81'' du disque dur ''virtuel'' : disk=ra name=ra0h;type=ra81 cd /dev sh ./MAKEDEV ts0;sync cd / newfs $name $type Toujours dans le simulateur nous allons restaurer le **slice** BSD ''/usr'' avec ces commandes : mount /dev/$name /usr cd /usr mkdir sys cd sys mt rew mt fsf 3 tar xpbf 20 /dev/rmt12 cd .. mt fsf tar xpbf 20 /dev/rmt12 cd / chmod 755 / /usr /usr/sys rm -rf sys ln -s /usr/sys sys umount /dev/$name fsck /dev/r$name Ne soyez pas surpris si les commandes ''tar xpbf 20 /dev/rmt12'' prennent du temps, ses deux commandes extraient des fichiers de la bande d'installation ''43bsd.tap''. Désormais nous allons créer le fichier ''/etc/fstab'' via ces commandes sur le simulateur : cd /etc cp fstab.ra81 fstab newfs ra0g ra81 sync reboot À l'invite ''sim>'', entrer ''q'' : sim> q Voilà, 4.3BSD est installé sur VAX-11/780 via le simulateur ''vax780'' de l'émulateur SimH ! Pour finir supprimer les fichiers devenus inutiles : rm boot42.uue install.ini miniroot mkdisttap.pl rootdump stand ===== Lancer l'émulation de 4.3BSD ===== Pour exécuter vous devez être dans le répertoire d'installation de 4.3BSD et taper la commande : vax780 boot.iniaprès le démarrage du système, connectez vous en tant que root (par défaut il n'y a pas de **mot de passe**). {{:wiki:virtualisation_et_emulation:simh:tutoriels_sur_simh:capture_d_ecran_du_2025-03-18_13-39-08.png?linkonly|image}} de 4.3BSD après démarrage. Désormais vous pouvez découvrir les entrailles de 4.3BSD, un voyage dans le ''passé'' ! Une fois que vous avez terminé votre voyage dans le passé, il est très important d'éteindre l'OS proprement (en {{ :wiki:virtualisation_et_emulation:simh:tutoriels_sur_simh:capture_d_ecran_du_2025-03-18_14-57-50.png?linkonly |image}}), pour synchroniser le disque dur ''virtuel'', pour ce faire vous devez entrer la commande ''shutdown -h now'', une fois l'invite de SimH affiché (''sim>''), appuyez sur la touche ''q'' pour quitter l'émulateur.