Ceci est une ancienne révision du document !
Table des matières
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
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
.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); }
#!/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 !
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 #