wiki:virtualisation_et_emulation:simh:tutos:unix-v6
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
wiki:virtualisation_et_emulation:simh:tutos:unix-v6 [2025/09/30 11:00] – Thibault Seguin | wiki:virtualisation_et_emulation:simh:tutos:unix-v6 [2025/10/01 20:16] (Version actuelle) – [Recompilation du noyau et de la configuration du système] Thibault Seguin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Unix version 6 sur PDP-11 avec émulateur SimH ====== | + | ====== |
===== Prérequis pour Unix version 6 ===== | ===== Prérequis pour Unix version 6 ===== | ||
Création des répertoires pour **Unix version 6** : | Création des répertoires pour **Unix version 6** : | ||
Ligne 53: | Ligne 53: | ||
<code user> | <code user> | ||
- | + | ==== Création des fichiers de périphériques ==== | |
+ | Utilisation de l' | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | |||
+ | ==== Copie des disques suivie de leurs montage ==== | ||
+ | Copiez les disques : | ||
+ | <code user>dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100</ | ||
+ | <code user>dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100</ | ||
+ | |||
+ | Montez les disques : | ||
+ | <code user>/ | ||
+ | <code user> | ||
+ | <code user>/ | ||
+ | |||
+ | Édition avec **ed** de ''/ | ||
+ | <code user>ed / | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | |||
+ | Synchronisation des disques : | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | |||
+ | === Résumé de l' | ||
+ | < | ||
+ | PDP-11 simulator Open SIMH V4.1-0 Current | ||
+ | Disabling XQ | ||
+ | / | ||
+ | %SIM-INFO: TM0: Tape Image ' | ||
+ | / | ||
+ | %SIM-INFO: RK0: Creating new file: disk0.rk | ||
+ | / | ||
+ | %SIM-INFO: RK1: Creating new file: disk1.rk | ||
+ | / | ||
+ | %SIM-INFO: RK2: Creating new file: disk2.rk | ||
+ | |||
+ | Simulation stopped, PC: 100012 (BR 100012) | ||
+ | =tmrk | ||
+ | disk offset | ||
+ | 0 | ||
+ | tape offset | ||
+ | 100 | ||
+ | count | ||
+ | 1 | ||
+ | =tmrk | ||
+ | disk offset | ||
+ | 1 | ||
+ | tape offset | ||
+ | 101 | ||
+ | count | ||
+ | 3999 | ||
+ | = | ||
+ | Simulation stopped, PC: 137274 (TSTB @#177560) | ||
+ | sim> boot rk0 | ||
+ | @rkunix | ||
+ | |||
+ | login: root | ||
+ | # stty erase # kill @ | ||
+ | # stty cr0 | ||
+ | # /etc/mknod /dev/rk0 b 0 0 | ||
+ | # /etc/mknod /dev/rk1 b 0 1 | ||
+ | # /etc/mknod /dev/rk2 b 0 2 | ||
+ | # /etc/mknod /dev/rrk0 c 9 0 | ||
+ | # /etc/mknod /dev/rrk1 c 9 1 | ||
+ | # /etc/mknod /dev/rrk2 c 9 2 | ||
+ | # /etc/mknod /dev/mt0 b 3 0 | ||
+ | # /etc/mknod /dev/rmt0 c 12 0 | ||
+ | # dd if=/dev/mt0 of=/dev/rk1 count=4000 skip=4100 | ||
+ | 4000+0 records in | ||
+ | 4000+0 records out | ||
+ | # dd if=/dev/mt0 of=/dev/rk2 count=4000 skip=8100 | ||
+ | 4000+0 records in | ||
+ | 4000+0 records out | ||
+ | # /etc/mount /dev/rk1 / | ||
+ | # mkdir /usr/doc | ||
+ | # /etc/mount /dev/rk2 /usr/doc | ||
+ | # ed /etc/rc | ||
+ | 28 | ||
+ | 2 | ||
+ | / | ||
+ | a | ||
+ | /etc/mount /dev/rk1 / | ||
+ | /etc/mount /dev/rk2 /usr/doc | ||
+ | . | ||
+ | w | ||
+ | 89 | ||
+ | q | ||
+ | # sync | ||
+ | # sync | ||
+ | # sync | ||
+ | # sync | ||
+ | # sync | ||
+ | # | ||
+ | Simulation stopped, PC: 002502 (MOV (SP)+, | ||
+ | sim> q | ||
+ | Goodbye | ||
+ | </ | ||
+ | |||
+ | ==== Recompilation du noyau et de la configuration du système ==== | ||
+ | Vous pouvez supprimer '' | ||
+ | <code user>rm install.ini dist.tap</ | ||
+ | |||
+ | Créer un fichier '' | ||
+ | < | ||
+ | set cpu 11/40 | ||
+ | att rk0 disk0.rk | ||
+ | att rk1 disk1.rk | ||
+ | att rk2 disk2.rk | ||
+ | ; att tm0 scratch.tape | ||
+ | ; att lpt printer.txt | ||
+ | ; att ptp paperout | ||
+ | ; att ptr paperin | ||
+ | set dci en | ||
+ | set dci lines=8 | ||
+ | att dci 1106 | ||
+ | d sr 1 | ||
+ | b rk | ||
+ | </ | ||
+ | |||
+ | Lancer le simulateur PDP-11 avec '' | ||
+ | <code user> | ||
+ | |||
+ | Après le signe '' | ||
+ | <code user> | ||
+ | |||
+ | Et à la demande du login : | ||
+ | <code user> | ||
+ | |||
+ | Suppression des noyaux inutiles et compilation du nouveau noyau : | ||
+ | <code user>rm hpunix rpunix unix</ | ||
+ | <code user> | ||
+ | <code user>cc mkconf.c</ | ||
+ | <code user>mv a.out mkconf</ | ||
+ | <code user>cat > | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user>as m40.s</ | ||
+ | <code user>mv a.out m40.o</ | ||
+ | <code user>ld -x l.o m40.o c.o ../lib1 ../ | ||
+ | <code user>mv a.out / | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | |||
+ | À l' | ||
+ | <code user>b rk0</ | ||
+ | |||
+ | Après le signe '' | ||
+ | <code user> | ||
+ | |||
+ | Supprimer noyau '' | ||
+ | <code user>rm rkunix</ | ||
+ | |||
+ | Création des fichiers de périphériques nécessaires avec la commande **mknod** : | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | <code user>/ | ||
+ | |||
+ | Modification de ''/ | ||
+ | <code user>ed / | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | |||
+ | Éditer le code source de **df**, **icheck** et **dcheck** pour renseigner les disques que nous avons montés précédemment et compiler ses utilitaires : | ||
+ | <code user> | ||
+ | <code user>ed df.c</ | ||
+ | <code user>/ | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user>ed icheck.c</ | ||
+ | <code user>/ | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user>ed dcheck.c</ | ||
+ | <code user>/ | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user> | ||
+ | <code user>cc df.c</ | ||
+ | <code user>mv a.out / | ||
+ | <code user>cc icheck.c</ | ||
+ | <code user>mv a.out / | ||
+ | <code user>cc dcheck.c</ | ||
+ | <code user>mv a.out / | ||
+ | |||
+ | **Vous pouvez désormais utiliser //Unix version 6// sans problème !** | ||
+ | |||
+ | Si vous souhaitez stopper la simulation tapez la combinaison de touches '' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | === Résumé de l' | ||
+ | < | ||
+ | PDP-11 simulator Open SIMH V4.1-0 Current | ||
+ | Disabling XQ | ||
+ | / | ||
+ | %SIM-INFO: Listening on port 1106 | ||
+ | @rkunix | ||
+ | mem = 1035 | ||
+ | RESTRICTED RIGHTS | ||
+ | |||
+ | Use, duplication or disclosure is subject to | ||
+ | restrictions stated in Contract with Western | ||
+ | Electric Company, Inc. | ||
+ | |||
+ | login: root | ||
+ | # rm hpunix rpunix unix | ||
+ | # chdir / | ||
+ | # cc mkconf.c | ||
+ | # mv a.out mkconf | ||
+ | # cat > | ||
+ | rk | ||
+ | tm | ||
+ | pc | ||
+ | 8dc | ||
+ | lp | ||
+ | # mkconf < | ||
+ | # as m40.s | ||
+ | # mv a.out m40.o | ||
+ | # cc -c c.c | ||
+ | # as l.s | ||
+ | # mv a.out l.o | ||
+ | # ld -x l.o m40.o c.o ../lib1 ../lib2 | ||
+ | # mv a.out /unix | ||
+ | # sync | ||
+ | # sync | ||
+ | # sync | ||
+ | # | ||
+ | Simulation stopped, PC: 002502 (MOV (SP)+, | ||
+ | sim> b rk0 | ||
+ | @unix | ||
+ | mem = 1027 | ||
+ | RESTRICTED RIGHTS | ||
+ | |||
+ | Use, duplication or disclosure is subject to | ||
+ | restrictions stated in Contract with Western | ||
+ | Electric Company, Inc. | ||
+ | |||
+ | login: root | ||
+ | # rm rkunix | ||
+ | # /etc/mknod /dev/lp0 c 2 0 | ||
+ | # /etc/mknod /dev/pc c 1 0 | ||
+ | # /etc/mknod /dev/tty0 c 3 0 | ||
+ | # /etc/mknod /dev/tty1 c 3 1 | ||
+ | # /etc/mknod /dev/tty2 c 3 2 | ||
+ | # /etc/mknod /dev/tty3 c 3 3 | ||
+ | # /etc/mknod /dev/tty4 c 3 4 | ||
+ | # /etc/mknod /dev/tty5 c 3 5 | ||
+ | # /etc/mknod /dev/tty6 c 3 6 | ||
+ | # /etc/mknod /dev/tty7 c 3 7 | ||
+ | # ed /etc/ttys | ||
+ | 112 | ||
+ | 1,8s/./1/ | ||
+ | w | ||
+ | 112 | ||
+ | q | ||
+ | # chdir / | ||
+ | # ed df.c | ||
+ | 1282 | ||
+ | /rp/ | ||
+ | "/ | ||
+ | d | ||
+ | -i | ||
+ | "/ | ||
+ | "/ | ||
+ | . | ||
+ | w | ||
+ | 1301 | ||
+ | q | ||
+ | # ed icheck.c | ||
+ | 5051 | ||
+ | /rp/ | ||
+ | "/ | ||
+ | d | ||
+ | -i | ||
+ | "/ | ||
+ | "/ | ||
+ | . | ||
+ | w | ||
+ | 5072 | ||
+ | q | ||
+ | # ed dcheck.c | ||
+ | 3332 | ||
+ | /rp/ | ||
+ | "/ | ||
+ | d | ||
+ | -i | ||
+ | "/ | ||
+ | "/ | ||
+ | . | ||
+ | w | ||
+ | 3352 | ||
+ | q | ||
+ | # cc df.c | ||
+ | # mv a.out /bin/df | ||
+ | # cc icheck.c | ||
+ | # mv a.out / | ||
+ | # cc dcheck.c | ||
+ | # mv a.out / | ||
+ | # df | ||
+ | /dev/rk0 1155 | ||
+ | /dev/rk1 940 | ||
+ | /dev/rk2 bad free count | ||
+ | 192 | ||
+ | # | ||
+ | Simulation stopped, PC: 002656 (MOV (SP)+, | ||
+ | sim> q | ||
+ | Goodbye | ||
+ | </ | ||
+ | |||
+ | ===== Exemple de démarrage d'Unix version 6 ===== | ||
+ | < | ||
+ | PDP-11 simulator Open SIMH V4.1-0 Current | ||
+ | Disabling XQ | ||
+ | / | ||
+ | %SIM-INFO: Listening on port 1106 | ||
+ | @unix | ||
+ | mem = 1027 | ||
+ | RESTRICTED RIGHTS | ||
+ | |||
+ | Use, duplication or disclosure is subject to | ||
+ | restrictions stated in Contract with Western | ||
+ | Electric Company, Inc. | ||
+ | |||
+ | login: root | ||
+ | # | ||
+ | </ |
wiki/virtualisation_et_emulation/simh/tutos/unix-v6.1759230000.txt.gz · Dernière modification : de Thibault Seguin