====== 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 sharutils
si 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 vim
ou :
sudo apt-get install nano
pour 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.3BSD
et 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.uue
ou sous BusyBox :
busybox uudecode boot42.uue
suite à cela, un fichier binaire du non de ''boot42'' est créé.
Décompresser les sets de 4.3BSD avec gzip :
gzip -d *.gz
puis rendez le script perl ''mkdisttap.pl'' exécutable :
chmod 755 mkdisttap.pl
pour finir, créer la bande d'installation de 4.3BSD avec le script perl ''mkdisttap.pl'' :
./mkdisttap.pl > 43bsd.tap
vous 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.ini
ou 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.ini
ou :
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.ini
aprè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.