Wiki Ordunix

Linux, FreeBSD, macOS, Windows et Histoire Informatique

Outils pour utilisateurs

Outils du site


wiki:virtualisation_et_emulation:simh:tutos:unix-v7

Installation d'Unix version 7 sur PDP-11 via l'émulateur SimH

Unix version 7 aussi appelé V7 a apporté comme principaux apports le Bourne shell au lieu du Thompson shell et la commande chdir pour changer de répertoire est devenu la populaire commande cd. Si vous souhaitez plus d'informations sur Unix version 7, rendez-vous ici.

Prérequis pour installer Unix version 7

  • Vous aurez besoin du logiciel gzip pour la décompression.
  • D'un éditeur de texte de votre choix.
  • D'un interpréteur perl pour créer la bande d'installation via le fichier mkdisttap.pl pour la V7.
  • De l'émulateur SimH.
  • Des sets d'Unix version 7 (V7) qui sont les suivants :
    • f0.gz
    • f1.gz
    • f2.gz
    • f3.gz
    • f4.gz
    • f5.gz
    • f6.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 gzip vim wget simh

Installation des logiciels sous FreeBSD :

sudo pkg install perl vim wget open-simh
Choisissez l'éditeur de texte de votre choix, vim n'est pas forcément l'idéal pour tout le monde.
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 && sudo apt-get -f install

.

Construction des répertoires pour Unix version 7 et téléchargement de ses sets

Création répertoires pour la V7 :

mkdir -p emulateur/simh/Unix-V7

Se rendre dans le répertoire Unix-V7 :

cd emulateur/simh/Unix-V7/

Téléchargement des sets de la V7 :

wget -r -np https://www.tuhs.org/Archive/Distributions/Research/Keith_Bostic_v7/

Déplacer les sets dans le répertoire courant :

mv -v www.tuhs.org/Archive/Distributions/Research/Keith_Bostic_v7/f*.gz .

Suppression du répertoire www.tuhs.org devenu inutile :

rm -rf www.tuhs.org/

Décompression des sets et création de la bande Unix version 7

Décompression des sets avec gzip :

gzip -d *.gz

Fichier perl pour créer la bande :

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("f0", 512);
end_file();
add_file("f1", 512);
end_file();
add_file("f2", 512);
end_file();
add_file("f3", 512);
end_file();
add_file("f4", 512);
end_file();
add_file("f5", 10240);
end_file();
add_file("f6", 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éation du fichier mkdisttap.pl afficher ci-dessus avec votre éditeur de texte préféré :

vim mkdisttap.pl

ou :

nano mkdisttap.pl

Rendre le script perl mkdisttap.pl exécutable :

chmod 755 mkdisttap.pl

Création de la bande d'installation pour la V7 :

./mkdisttap.pl > v7.tap

Suppression des fichiers devenus inutiles :

rm f* mkdisttap.pl

Processus d'installation et de configuration d'Unix version 7

Création du fichier install.ini :

vim install.ini

Boot via le fichier install.ini avec le simulateur pdp11 de SimH :

pdp11 install.ini

À partir du simulateur

Après Boot : tapez :

tm(0,3)

ensuite :

5000
hp(0,0)
tm(0,4)
tm(0,5)
hp(0,0)

appuyer sur la touche Entrer.

hp(0,0)hptmunix
STTY -LCASE NL0 CR0

pour passer de l'affichage en majuscule en minuscule.

Supprimer les anciens noyaux :

mv hptmunix unix
rm hp*ix
rm rp*ix
ls *ix

doit afficher seulement le noyau unix.

Création des périphériques RP06 dans /dev :

cd /dev
make rp06

Créer les périphériques TU10 dans /dev :

make tm

Création d'un système de fichiers vierge sur disque RP06 :

cd /
/etc/mkfs /dev/rp3 322278
icheck /dev/rp3

Avance rapide de la bande et restauration de la tranche /usr :

dd if=/dev/r#nrmt0 of=/dev/null bs=20b files=6
restor rf /dev/rmt0 /dev/rp3

appuyer simplement sur la touche Entrer.

Montage de la tranche /usr, clonage du bloc de démarrage et synchronisation du disque RP06 :

/etc/mount /dev/rp3 /usr
dd if=/usr/mdec/hpuboot of=/dev/rp0 count=1

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

Sur votre terminal hôte

Création du fichier boot.ini pour pouvoir booter sur votre nouvelle installation d'Unix version 7 :

vim boot.ini

Vous pouvez supprimer le fichier install.ini et la bande d'installation v7.tap :

rm install.ini v7.tap

Démarrer Unix version 7 à partir de boot.ini :

pdp11 boot.ini

Retour à votre simulateur PDP-11 SimH

Juste après l'affichage de Disabling XQ, tapez :

boot

ensuite :

hp(0,0)unix

puis passer en mode multi-utilisateur avec la combinaison de touche CTRL+D.

Désormais on vous demande d'entrer votre login, tapez :

root

suivie du mot de passe :

root

Vous pouvez à présent faire la découverte d'Unix version 7 !

Lorsque vous souhaitez revenir au terminal de votre hôte, stopper le simulateur PDP-11 avec la combinaison de touche CTRL+E puis arrivé à l'invite sim> vous pouvez quitter l'émulateur SimH avec la touche q.

Exemple de démarrage d'Unix version 7

PDP-11 simulator Open SIMH V4.1-0 Current        simh git commit id: d4f85d01

After Disabling XQ is displayed type boot
and at the : prompt type hp(0,0)unix

Disabling XQ
boot
Boot
: hp(0,0)unix
mem = 2020544
# RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 19:52:43 EST 1969

login: root
Password:
You have mail.
# 
Pour rappel le mot de passe est root par défaut.
wiki/virtualisation_et_emulation/simh/tutos/unix-v7.txt · Dernière modification : de Thibault Seguin