Ceci est une ancienne révision du document !
Table des matières
Installation de UNIX System V Release 1 sur PDP-11 via l'émulateur SimH
UNIX System V Release 1 (SVR1) est la première version de UNIX System V, sortie en 1983. Ce système était disponible pour mini-ordinateurs PDP-11 et VAX.
Prérequis pour l'installation de SVR1
- Un interpréteur perl pour pouvoir créer la bande d'installation via le script
mkdisttap.pl
. - Un éditeur de texte (vim, nano, gedit…).
- Le simulateur pdp11 de l'émulateur SimH.
- Tous les fichiers qui composent SVR1.
Processus d'installation de SVR1
Depuis un terminal de votre système hôte
Installation des logiciels requis sous Debian :
sudo apt install perl wget vim simh
.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
.
Installation des logiciels requis sous FreeBSD :
sudo pkg install perl wget vim open-simh
Créer les répertoires pour l'installation de SVR1 :
mkdir -p emulateur/simh/SVR1
Rendez-vous dans le dossier SVR1
:
cd emulateur/simh/SVR1
Télécharger les fichiers d'installation de SVR1 :
wget -r -np http://squoze.net/UNIX/sysV_pdp11/files/
Déplacer les fichiers d'installation dans le répertoire courant :
mv -v squoze.net/UNIX/sysV_pdp11/files/* .
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("bootstrap", 512); end_file(); add_file("root.image", 5120); end_file(); add_file("cpio.binary", 5120); end_file(); add_file("root.cpio", 5120); end_file(); add_file("usr.cpio", 5120); end_file(); add_file("graphics.cpio", 5120); end_file(); add_file("RJE.cpio", 5120); end_file(); add_file("man.cpio", 5120); end_file(); add_file("doc.cpio", 5120); 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 SVR1 :
./mkdisttap.pl > dist.tape
Création fichier install.ini :
vim install.ini
Démarrer le simulateur pdp11 avec fichier install.ini
:
pdp11 install.ini
Depuis le terminal du simulateur
n
y
0
y
y
0
y
puis appuyez sur la touche Entrer
.
Le simulateur se coupe automatiquement, tapez cette commande :
boot rp0
0
après le caractère=
tapez :
unixgdtm
Vous arrivez sur une invite de commande #
en mode single user.
Pour modifier le comportement de erase
et kill
via la commande stty :
stty erase # kill @
Installation du reste de la bande :
echo </dev/mt4
echo </dev/mt4
echo </dev/mt4
echo </dev/mt4
cd /
mkfs /dev/rrp1 322278 7 418
labelit /dev/rrp1 usr p0002
mount /dev/rp1 /usr
cd /usr
cpio -idmB </dev/rmt4
cpio -idmB </dev/rmt4
cpio -idmB </dev/rmt4
mkdir man
cd man
cpio -idmB </dev/rmt4
cpio -idmB </dev/rmt4
Configurer le système en mode multi-utilisateur :
ed /etc/rc
751
/mount/
: put mounts here
a
/etc/mount /dev/rp1 /usr
.
w
777
q
ln /unixgdtm /unix
sync
sync
sync
sync
sync
puis appuyer sur la combinaison de touche CTRL+E
puis sur la touche q
pour arrêter l'émulateur SimH.
Retour au terminal de votre hôte
Retour au terminal du simulateur
0
après le signe =
entrez :
unix
init 2
y
n
Enter le nom d'utilisateur :
root
Et voilà vous sous SVR1 en mode multi-utilisateur !
Exemple de boot de UNIX System V Release 1
PDP-11 simulator Open SIMH V4.1-0 Current simh git commit id: d4f85d01 Disabling XQ #0=unix UNIX/sysV: unixgdtm real mem = 262144 bytes avail mem = 185280 bytes INIT: SINGLE USER MODE # init 2 INIT: New run level: 2 Is the date Wed Dec 1 15:35:46 EST 1982 correct? (y or n) y Do you want to check the file systems? (y or n) n /etc/rc: /usr/lib/ex2.15preserve: not found -su: /usr/lib/acct/startup: not found process accounting started /etc/rc: /usr/lib/errdemon: not found errdemon started mv: cannot access /usr/adm/sulog mv: cannot access /usr/adm/cronlog /etc/rc: /usr/adm/cronlog: cannot create cron started Console Login: root UNIX System V #