Table des matières

Installation de la version d'origine de 4.3BSD sortie en juin 1986 sur VAX-11/780 sous l'émulateur SimH

Prérequis à l'installation de 4.3BSD sous SimH

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 :

mkdisttap.pl
#!/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 FreeBSD et si vous installez SimH par compilation sous Debian ou autres 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 : 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 adresse ou encore mieux, télécharger Open-SimH qui contient davantage de simulateurs d'ordinateurs, vous pouvez trouver Open-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 2

puis 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).

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 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.