Ceci est une ancienne révision du document !
Table des matières
Installation de 4.2BSD du CSRG sur VAX-11/780 via SimH
4.2BSD sortie en août 1983 est la première version officielle du CSRG (Computer Systems Research Group) de l’Université de Californie à Berkeley à avoir une pile TCP/IP totalement exploitable développée en grande partie par Bill Joy. C'est à dire que c'est la première version (hors version intermédiaire) à pouvoir se connecter à l'ARPAnet (Advanced Research Projects Agency Network), l'ancêtre d'Internet.
Prérequis à l'installation de 4.2BSD sous SimH
- Un interpréteur perl pour pouvoir lancer le script
mkdisttap.pl
. - Le logiciel d'archivage tar et l'utilitaire de compression/décompression gzip.
- Le logiciel uudecode présent par défaut sous BusyBox et dans le paquet GNU sharutils.
- Le code d'amorçage de 4.2BSD déchiffrable avec uudecode.
- Un éditeur de texte de votre choix comme nano ou vim.
- L'émulateur SimH qui comprend le simulateur pour VAX-11/780 du nom de vax780.
- Le logiciel de téléchargement wget pour télécharger les set 4.2BSD.
- Et enfin les sets de 4.2BSD disponible sur The Unix Heritage Society :
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
Installation des logiciels nécessaires
Installation des logiciels sous Debian :
sudo apt install perl tar gzip busybox vim wget simh
Installation des logiciels sous FreeBSD :
sudo pkg install perl busybox vim wget simh
Construction des répertoires pour 4.2BSD et téléchargement des sets 4.2BSD
Création répertoires 4.2BSD :
mkdir -p emulateur/simh/4.2BSD
Se rendre dans le répertoire 4.2BSD :
cd emulateur/simh/4.2BSD
Téléchargement des sets de 4.2BSD :
wget -r -np https://www.tuhs.org/Archive/Distributions/UCB/4.2BSD/
Déplacer les sets de 4.2BSD dans le répertoire courant :
mv -v www.tuhs.org/Archive/Distributions/UCB/4.2BSD/*.gz .
Suppression du répertoire www.tuhs.org
devenu inutile :
rm -rf www.tuhs.org/
Décompression des sets, création de la bande 4.2BSD et décodage du code d'amorçage
Décompression des sets 4.2BSD avec gzip :
gzip -d *.gz
Fichier perl pour créer la bande ;
- 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); }
#!/usr/bin/perl -w
par #!/usr/local/bin/perl -w
du fichier mkdisttap.pl
.
Création du fichier mkdisttap.pl
afficher ci-dessus avec votre éditeur de texte préféré :
vim mkdisttap.pl
Rendre le script perl mkdisttap.pl
exécutable :
chmod 755 mkdisttap.pl
Création de la bande pour 4.2BSD :
./mkdisttap.pl > 42bsd.tap
Suppression des fichiers devenus inutiles :
rm -rf *.tar mkdisttap.pl rootdump stand
Fichier boot42.uue à créer et à décoder avec uudecode :
-création du fichier boot42.uue
:
vim boot42.uue
-décodage du fichier boot42.uue
:
uudecode boot42.uue
-ou avec BusyBox :
busybox uudecode boot42.uue
un fichier binaire boot42
a dû être créé.
Supprimer fichier boot42.uue
désormais inutile :
rm boot42.uue
Processus d'installation et de configuration de 4.2BSD
Première phase de boot et configuration
Création du fichier install.ini :
vim install.ini
Boot via le fichier install.ini
avec le simulateur vax780 de SimH :
vax780 install.ini
À l'intérieur du simulateur vax780, tapez les commandes suivantes
Préparation du disque virtuelle
disk=ra
name=ra0h;type=ra81
cd /dev
./MAKEDEV ts0;sync
cd /
newfs $name $type
Restauration de la tranche usr
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
Configuration du fstab
cd /etc
cp fstab.ra81 fstab
newfs ra0g ra81
sync
sync
sync
reboot