Wiki Ordunix

Linux, FreeBSD, macOS, Windows et Histoire Informatique

Outils pour utilisateurs

Outils du site


wiki:virtualisation_et_emulation:simh:tutos:4.3bsd-quasijarus0c

Ceci est une ancienne révision du document !


Installation de 4.3BSD-Quasijarus0c sur MicroVAX via l'émulateur SimH

L'Université de Californie à Berkeley (UCB) a décidé de créer 4.3BSD-Tahoe pour le mini-ordinateur Power 6/32 car elle jugeait l'architecture VAX vieillissante mais problème, le Power 6/32 n'a jamais été commercialisé. Mais 4.3BSD-Tahoe est tout de même été une version très importante de l'UCB car elle a permit de rendre 4.3BSD plus portable.

À partir de 1997, l'International Free Computing Task Force (IFCTF) créé par Michael Sokolov (qui n'a aucun rapport avec l'UCB) a créé un fork de 4.3BSD-Tahoe pour VAX du nom de 4.3BSD-Quasijarus. La première version a été crée le 31 décembre 1997 et la dernière le 12 décembre 1998, elle a été maintenue jusqu'en 2001 puis le site de l'IFCTF a été clôturé en 2004. 4.3BSD-Quasijarus est la version de BSD privilégié pour les ordinateurs VAX réels.

Prérequis pour l'installation de 4.3BSD-Quasijarus0c

  • Le compilateur gcc pour compiler l'utilitaire gzcompat.
  • Un éditeur de texte comme vim, nano, ee…etc.
  • Un interpréteur perl pour créer la bande d'installation avec le script mkdisttap.pl.
  • Le simulateur vax et le fichier ka655x.bin de lémulateur SimH.
  • Et enfin le sets de la distribution Quasijarus0c :
    • stand.Z
    • miniroot.Z
    • rootdump.Z
    • usr.tar.Z
    • srcsys.tar.Z
    • src.tar.Z
  • Il y a aussi les sets qui suivent mais qui sont seulement utiles sur un vrai VAX :
    • cassette.Z
    • consolerl.Z
    • floppy.Z
Sachez que vous pouvez directement télécharger la bande d'installation sans passer par les sets de 4.3BSD-Quasijarus0c et le script mkdisttap.pl, ici. Les sets étant de vielles archives .Z, il se peut que la création de la bande échoue.

Processus d'installation de 4.3BSD-Quasijarus0c

Depuis un terminal sur votre hôte

Créer les répertoires pour 4.3BSD-Quasijarus0c :

mkdir -p emulateur/simh/4.3BSD-Quasijarus0c

Se rendre dans le répertoire de Quasijarus0c :

cd emulateur/simh/4.3BSD-Quasijarus0c/

Installer les logiciels requis pour Debian et télécharger le fichier ka655x.bin :

sudo apt install simh vim wget perl gcc && wget https://github.com/open-simh/simh/blob/master/VAX/ka655x.bin
J'ai constaté que le paquet simh a été retiré de Debian 13. Si souhaitez récupérer et installer le paquet .deb faîtes ceci :
wget http://ftp.fr.debian.org/debian/pool/main/s/simh/simh_3.8.1-6.1_amd64.deb

puis :

sudo dpkg -i simh_3.8.1-6.1_amd64.deb

SimH n'a pas besoin de dépendances logicielles donc inutile de taper la commande sudo apt-get -f install.

Installer les logiciels requis pour FreeBSD et télécharger le fichier ka655x.bin :

sudo pkg install open-simh vim perl && fetch https://github.com/open-simh/simh/blob/master/VAX/ka655x.bin

Télécharger les sets d'installation pour 4.3BSD-Quasijarus0c :

wget https://unixhistory.tavi.co.uk/quasijarus/{stand,miniroot,rootdump,usr.tar,srcsys.tar,src.tar}.Z

et sous FreeBSD :

fetch https://unixhistory.tavi.co.uk/quasijarus/{stand,miniroot,rootdump,usr.tar,srcsys.tar,src.tar}.Z

Télécharger gzcompat, désarchiver le fichier et compiler l'utilitaire :

wget https://unixhistory.tavi.co.uk/quasijarus/gzcompat.zip

puis extraire le fichier zip :

unzip gzcompat.zip

et enfin compiler gzcompat :

gcc gzcompat.c -o gzcompat -lz

ou compiler sous FreeBSD :

clang gzcompat.c -o gzcompat -lz

Extraire les sets avec gzcompat et zcat du logiciel gzip :

./gzcompat stand.Z | zcat > stand
./gzcompat miniroot.Z | zcat > miniroot
./gzcompat rootdump.Z | zcat > rootdump
./gzcompat usr.tar.Z | zcat > usr.tar
./gzcompat srcsys.tar.Z | zcat > srcsys.tar
./gzcompat src.tar.Z | zcat > src.tar

Contenu du script perl mkdisttap.pl pour créer la bande d'installation :

mkdisttap.pl
#!/usr/local/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("usr.tar", 10240);
end_file();
add_file("srcsys.tar", 10240);
end_file();
add_file("src.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);
}
Sous GNU/Linux il faut modifier le shebang (première ligne du fichier) #!/usr/local/bin/perl -w par #!/usr/bin/perl -w du fichier mkdisttap.pl.

Créer le fichier mkdisttap.pl :

vim mkdisttap.pl

puis rendre le fichier exécutable :

chmod +x mkdisttap.pl

Créer la bande d'installation de 4.3BSD-Quasijarus0c :

./mkdisttap.pl  > quas.tap

Si la bande n'est pas fiable, télécharger directement le fichier de la bande d'installation et l'extraire :

wget https://unixhistory.tavi.co.uk/quasijarus/quastape.zip

puis extraire le fichier :

unzip quastape.zip && mv quastape.tap quas.tap

Création fichier install.ini

vim install.ini

Démarrer le simulateur vax à partir du fichier install.ini :

vax install.ini

Depuis le terminal du simulateur

Choisissez votre langue :

8

pour le français.

Après l'invite »> démarrer sur la bande d'installation :

boot mua0:

Après le caractère = tapez :

copy
tms(0,1)
ra(0,1)

Puis tapez les commandes suivantes après le second singe = :

boot
ra(0,1)vmunix

Ensuite on où demande le disque racine

ra0*

Désormais on spécifie les tranches du disque via le fichier disktab :

disklabel -rw ra0 ra82 "Quasijarus" /usr/mdec/rdboot /usr/mdec/bootra

Restauration du rootdump :

disk=ra0 type=ra82 tape=tms xtr

Et enfin synchronisation du disque :

sync
sync
sync
sync
sync

Appuyez sur la combinaison de touche CTRL+E pour stopper le simulateur et appuyez sur la touche q après l'invite sim> pour quitter l'émulateur SimH.

Retour au terminal de l'hôte

Création du fichier boot.ini :

vim boot.ini

Démarrer le simulateur à partir du fichier boot.ini :

vax boot.ini

Retour au terminal de l'émulateur

Sélectionnez votre langue :

8

puis booter sur le disque dur :

dua0:

Préparation du disque pour 4.3BSD-Quasijarus0c :

newfs ra0g ra82
newfs ra0h ra82
mkdir /home
mount /dev/ra0g /usr
cd /dev
MAKEDEV tmscp0
MAKEDEV dz0

Restauration de la tranche /usr du disque dur :

cd /usr
mt rew
mt fsf 3
tar xpbf 20 /dev/rmt12
mkdir src
cd src
mkdir sys
cd sys
mt fsf
tar xpbf 20 /dev/rmt12
cd ..
mt fsf
tar xpbf 20 /dev/rmt12

Configuration et création du fichier fstab :

cd /etc
cat > fstab
/dev/ra0a:/:rw:1:1
/dev/ra0h:/home:rw:1:3
/dev/ra0g:/usr:rw:1:2

puis appuyez sur CTRL+D pour retourner à l'invite du terminal.

Lancer la commande pour redémarrer le système :

reboot

ce qui va provoquer la synchronisation du disque dur et stopper le simulateur.

Après l'invite sim> vous pouvez quitter l'émulateur avec la touche q.

Démarrer 4.3BSD-Quasijarus0c en mode multi-utilisateur

vax boot.ini

On vous demande votre login, tapez

root

pas besoin de mot de passe par défaut.

Bienvenue sous 4.3BSD-Quasijarus0c !

Vous pouvez désormais supprimer tous les fichiers devenus inutiles avec cette commande :
rm gzcompat* install.ini miniroot* mkdisttap.pl quas.tap quastape.zip README.gzcompat rootdump* s* usr.tar*

Déroulement du démarrage de 4.3BSD-Quasijarus0c

MicroVAX 3900 simulator Open SIMH V4.1-0 Current        simh git commit id: d4f85d01
/home/beastie/emulateur/simh/4.3BSD-Quasijarus0c/boot.ini-4> set ry dis
%SIM-ERROR: Non-existent device: RY
/home/beastie/emulateur/simh/4.3BSD-Quasijarus0c/boot.ini-12> att tq0 quas.tap
%SIM-INFO: TQ0: Tape Image 'quas.tap' scanned as SIMH format
/home/beastie/emulateur/simh/4.3BSD-Quasijarus0c/boot.ini-15> att nvr nvram.dat
%SIM-INFO: NVR: buffering file in memory
/home/beastie/emulateur/simh/4.3BSD-Quasijarus0c/boot.ini-17> boot cpu
%SIM-INFO: Loading boot code from internal ka655x.bin


KA655-B V5.3, VMB 2.7
 1) Dansk
 2) Deutsch (Deutschland/Vsterreich)
 3) Deutsch (Schweiz)
 4) English (United Kingdom)
 5) English (United States/Canada)
 6) Espaqol
 7) Frangais (Canada)
 8) Frangais (France/Belgique)
 9) Frangais (Suisse)
10) Italiano
11) Nederlands
12) Norsk
13) Portugujs
14) Suomi
15) Svenska
 (1..15): 8
Systhme en cours de test.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests terminis.
Logiciel-systhme en cours de chargement.
(BOOT/R5:0 DUA0



  2..
-DUA0
  1..0..

loading boot

Boot
: /vmunix
326312+104440+130352 start 0x23b8
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004
    root@luthien.Harhan.ORG:/nbsd/usr/src/sys/GENERIC
real mem  = 16744448
SYSPTSIZE limits number of buffers to 112
avail mem = 14920704
using 112 buffers containing 917504 bytes of memory
MicroVAX 3000, ucode rev 6
tmscp0 at uba0 csr 174500 vec 774, ipl 15
tms0 at tmscp0 slave 0
tms1 at tmscp0 slave 1
uda0 at uba0 csr 172150 vec 770, ipl 15
uda0: version 3 model 3
uda0: DMA burst size set to 4
ra0 at uda0 slave 0: ra82, size = 1216665 sectors
dz0 at uba0 csr 160100 vec 300, ipl 17
dz1 at uba0 csr 160110 vec 310, ipl 17
dz2 at uba0 csr 160120 vec 320, ipl 17
dz3 at uba0 csr 160130 vec 330, ipl 17
Changing root device to ra0a
Automatic reboot in progress...
Sun Oct  5 17:42:49 PDT 2003
/dev/ra0a: 451 files, 5228 used, 1865 free (17 frags, 231 blocks, 0.2% fragmentation)
/dev/rra0g: 12316 files, 71689 used, 323162 free (426 frags, 40342 blocks, 0.1% fragmentation)
/dev/rra0h: 1 files, 1 used, 136503 free (15 frags, 17061 blocks, 0.0% fragmentation)
Sun Oct  5 17:42:51 PDT 2003
checking quotas: done.
starting system logger
  
preserving editor files
clearing /tmp
standard daemons: update cron accounting.
starting network daemons: routed namedOct  5 17:42:51 myname named[79]: /etc/named.boot: No such file or directory
 inetd printer.
starting local daemons: sendmail.
Sun Oct  5 17:42:51 PDT 2003


4.3 BSD UNIX (myname.my.domain) (console)

login: root
Last login: Sun Oct  5 17:38:56 on console
Oct  5 17:42:57 myname login: ROOT LOGIN console
4.3 BSD Quasijarus UNIX #3: Sat Feb 14 20:31:03 PST 2004

Welcome to UNIX!

erase ^?, kill ^U, intr ^C
#
wiki/virtualisation_et_emulation/simh/tutos/4.3bsd-quasijarus0c.1760054505.txt.gz · Dernière modification : de Thibault Seguin