mkdisttap.pl
spécifique à 4.3BSD.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 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); }
#!/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
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
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
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
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é
!
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.