[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 830.   Installazione di file-immagine pronti

Alcune edizioni dello UNIX di ricerca sono disponibili in file-immagine già pronti per questa o quella unità a disco. l'utilizzo di tali file con i simulatori è molto più semplice rispetto a una distribuzione su «nastro». Tuttavia, rimane il fatto che si tratta di versioni di UNIX prive di tanti accorgimenti a cui si è abituati se si conosce un sistema GNU e anche cose semplici come la correzione di quanto digitato sulla riga di comando possono essere impossibili.

830.1   UNIX versione 5 (RK05)

Si può trovare il file-immagine della versione 5 dello UNIX di ricerca, per un disco RK05, presso <http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v5/v5root.gz>. Il file va estratto e quindi va preparato uno script per SIMH.

GNU/Linux gunzip < v5root.gz > unix_v5_root_rk05.dsk[Invio]

Il nome scelto per il file estratto serve a sintetizzare le caratteristiche dell'immagine. Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RK05 cartridge disk.
;
SET     RK   ENABLE
ATTACH  RK0  unix_v5_root_rk05.dsk
SHOW    RK0
;
; Should boot manually.
;

Se lo script è contenuto nel file unix_v5.ini, si avvia la simulazione così:

GNU/Linux pdp11 unix_v5.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RK0, 1247KW, attached to unix_v5_root_rk05.dsk, write enabled

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RK0[Invio]

Se funziona, appare un altro invito, generato dal settore di avvio. Questo invito è rappresentato da una chiocciolina (@), dopo la quale va scritto il nome del file del kernel da eseguire:

disk boot @unix[Invio]

Praticamente non c'è alcuna procedura di avvio, quindi si ottiene immediatamente la richiesta di identificazione dell'utente:

UNIX login: root[Invio]

UNIX 

Si annotano i file di dispositivo presenti:

UNIX chdir /dev[Invio]

UNIX ls -l[Invio]

total 0
cr--r--r--  1 bin     1,  0 Nov 26 18:13 mem
crw-rw-rw-  1 bin     1,  2 Nov 26 18:13 null
crw--w--w-  1 root    0,  0 Mar 21 12:10 tty8
#

Non è prevista la procedura di arresto del sistema ed è disponibile solo sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 014150 (INC R4)

SIMH sim> quit[Invio]

830.2   UNIX versione 6 (RK05)

Si può trovare il file-immagine della versione 6 dello UNIX di ricerca, per un disco RK05, presso <http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v6/v6root.gz>. Il file va estratto e quindi va preparato uno script per SIMH. Tuttavia, il settore di avvio contenuto nel file-immagine non funziona con il simulatore e va sostituito con una copia della versione 5.

Per prelevare il settore di avvio dal file-immagine della versione 5 si procede come nell'esempio seguente, dove si ottiene il file avvio:

GNU/Linux dd if=unix_v5_root_rk05.dsk of=avvio bs=512 count=1[Invio]

Si estrae il file che contiene l'immagine principale della versione 6:

GNU/Linux gunzip < v6root.gz > unix_v6_root_rk05_orig.dsk[Invio]

Si separa la porzione successiva al primo settore, generando un file temporaneo:

GNU/Linux dd if=unix_v6_root_rk05_orig.dsk of=tmp bs=512 skip=1[Invio]

Si produce un nuovo file-immagine:

GNU/Linux cat avvio tmp > unix_v6_root_rk05_fixed.dsk[Invio]

Si prepara anche il secondo file-immagine previsto, contenente i sorgenti dei programmi:

GNU/Linux gunzip < v6src.gz > unix_v6_root_rk05_src.dsk[Invio]

Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RK05 cartridge disks.
;
SET     RK   ENABLE
;
ATTACH  RK0  unix_v6_root_rk05_fixed.dsk
SHOW    RK0
;
ATTACH  RK1  unix_v6_src_rk05.dsk
SHOW    RK1
;
; Should boot manually.
;

Se lo script è contenuto nel file unix_v6.ini, si avvia la simulazione così:

GNU/Linux pdp11 unix_v6.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RK0, 1247KW, attached to unix_v6_root_rk05_fixed.dsk, write enabled
RK1, 1247KW, attached to unix_v6_src_rk05.dsk, write enabled

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RK0[Invio]

Se funziona appare l'invito del settore di avvio (@), dal quale va scritto il nome del file del kernel da eseguire: in questo caso si tratta del kernel rkunix.

disk boot @rkunix[Invio]

UNIX login: root[Invio]

UNIX 

Si annotano i file di dispositivo presenti:

UNIX chdir /dev[Invio]

UNIX ls -l[Invio]

total 0
crw-rw-r--  1 bin     8,  1 May 13 20:01 kmem
crw-rw-r--  1 bin     8,  0 May 13 20:01 mem
crw-rw-rw-  1 bin     8,  2 May 13 20:01 null
crw--w--w-  1 root    0,  0 Aug 14 22:06 tty8

Non è prevista la procedura di arresto del sistema ed è disponibile solo sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 015670 (BNE 15722)

SIMH sim> quit[Invio]

830.3   UNIX versione 6 (RL02)

Si può trovare il file-immagine della versione 6 dello UNIX di ricerca, modificato per utilizzare un disco RL02, presso <http://www.tuhs.org/Archive/PDP-11/Boot_Images/v6_rl02_unknown.gz>. Il file va estratto e quindi va preparato uno script per SIMH.

GNU/Linux gunzip < v6_rl02_unknown.gz > unix_v6_root_rl02.dsk[Invio]

Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RL02 cartridge disks.
;
SET     RL   ENABLE
;
ATTACH  RL0  unix_v6_root_rl02.dsk
SHOW    RL0
;
; Should boot manually.
;

Se lo script è contenuto nel file unix_v6.ini, si avvia la simulazione così:

GNU/Linux pdp11 unix_v6.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RL0, 5242KW, attached to unix_v6_root_rl02.dsk, write enabled, RL02

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RL0[Invio]

Se funziona appare l'invito del programma di avvio (!), dal quale va scritto il nome del file del kernel da eseguire: unix.

disk boot !unix[Invio]

unix v6 11/23
mem = 99 KW max = 63

UNIX 

Da questo punto, il terminale potrebbe funzionare solo con lettere maiuscole, perciò conviene dare il comando successivo, in modo da ottenere le lettere minuscole consuete:

UNIX STTY -LCASE[Invio]

Si annotano qui i file di dispositivo presenti, ma è comunque disponibile, nella directory /dev/ un file Makefile:

UNIX cd /dev[Invio]

UNIX ls -l[Invio]

crw-rw-r--  1 root      23,   0 Jun 19  1984 ad0
crw-rw-rw-  1 root      23,   1 Jul 25  1984 ad1
crw-rw-rw-  1 root      23,   2 Jul 25  1984 ad2
crw-rw-rw-  1 root      23,   3 Jul 25  1984 ad3
crw-rw-rw-  1 root      23,   4 Jul 25  1984 ad4
crw-rw-rw-  1 root      23,   5 Jul 25  1984 ad5
crw-rw-rw-  1 root      23,   6 Jul 25  1984 ad6
crw-rw-rw-  1 root      23,   7 Jul 25  1984 ad7
brw-rw-r--  1 root       6,   0 Aug  4  1982 hm0
brw-rw-r--  1 root       6,   1 Aug  4  1982 hm1
brw-rw-r--  1 root       6,   2 Aug  4  1982 hm2
brw-rw-r--  1 root       6,   3 Aug  4  1982 hm3
brw-rw-r--  1 root       6,   4 Aug  4  1982 hm4
brw-rw-r--  1 root       6,   5 Aug  4  1982 hm5
brw-rw-r--  1 root       6,   6 Aug  4  1982 hm6
brw-rw-r--  1 root       6,   7 Aug  4  1982 hm7
brw-rw-r--  1 root       6,   8 Aug  4  1982 hm8
crw-rw-r--  1 root       8,   3 Aug  4  1982 imem
crw-rw-r--  1 root       8,   1 Aug  4  1982 kmem
c-w--w--w-  1 root       2,   0 Aug  4  1982 lp
crw-rw-r--  1 root       8,   0 Aug  4  1982 mem
brw-rw-r--  1 root       3,   0 Aug  4  1982 mt0
crw-rw-r--  1 root       8,   2 Dec 16  1983 null
brw-rw-r--  1 root      15,   0 Aug  4  1982 rhm0
brw-rw-r--  1 root      15,   1 Aug  4  1982 rhm1
brw-rw-r--  1 root      15,   2 Aug  4  1982 rhm2
brw-rw-r--  1 root      15,   3 Aug  4  1982 rhm3
brw-rw-r--  1 root      15,   4 Aug  4  1982 rhm4
brw-rw-r--  1 root      15,   5 Aug  4  1982 rhm5
brw-rw-r--  1 root      15,   6 Aug  4  1982 rhm6
brw-rw-r--  1 root      15,   7 Aug  4  1982 rhm7
brw-rw-r--  1 root      15,   8 Aug  4  1982 rhm8
brw-rw-r--  1 root       0,   0 Aug  4  1982 rk0
brw-rw-r--  1 root       0,   1 Aug  4  1982 rk1
brw-rw-r--  2 root       2,   0 May  2  1983 rl0
brw-rw-r--  1 root       2,   1 May 12  1983 rl1
c-w--w--w-  1 root       2,   1 Aug  4  1982 rlp
brw-rw-r--  1 root       1,   0 Aug  4  1982 rp0
brw-rw-r--  1 root       1,   1 Aug  4  1982 rp1
brw-rw-r--  1 root       1,   2 Aug  4  1982 rp2
brw-rw-r--  1 root       1,   3 Aug  4  1982 rp3
crw-rw-r--  1 root      10,   0 Aug  4  1982 rrk0
crw-rw-r--  1 root      10,   1 Aug  4  1982 rrk1
crw-rw-r--  1 root      18,   0 May 26  1986 rrl0
crw-rw-r--  1 root      18,   1 Sep 12 12:35 rrl1
crw-rw-r--  1 root      12,   0 Aug  4  1982 rrp0
crw-rw-r--  1 root      12,   1 Aug  4  1982 rrp1
crw-rw-r--  1 root      12,   2 Aug  4  1982 rrp2
crw-rw-r--  1 root      12,   3 Aug  4  1982 rrp3
crw-rw-rw-  1 root      11,   0 Feb 25  1983 rrx0
crw-rw-rw-  1 root      11,   1 Feb 25  1983 rrx1
crw-rw-rw-  1 root      11,   2 Apr 26  1983 rrx2
crw-rw-rw-  1 root      11,   3 Feb 25  1983 rrx3
brw-rw-rw-  1 root       5,   0 Feb 25  1983 rx0
brw-rw-rw-  1 root       5,   1 Mar  2  1983 rx1
brw-rw-rw-  1 root       5,   2 Feb 25  1983 rx2
brw-rw-rw-  1 root       5,   3 Apr 26  1983 rx3
crw-rw-r--  1 root      21,   0 Aug  4  1982 stat0
crw-rw-r--  1 root      21,   1 Aug  4  1982 stat1
brw-rw-r--  2 root       2,   0 May  2  1983 swap
crw-rw-rw-  1 root       9,   0 Feb 14  1984 tty
crw--w--w-  1 root       0,   1 Feb  2 15:16 tty1
crw--w--w-  1 root       0,   2 Feb  2 09:51 tty2
crw--w--w-  1 root       0,   3 Feb  2 15:16 tty3
crw--w--w-  1 root       0,   4 Feb  2 15:16 tty4
crw--w--w-  1 root       0,   5 Feb  2 15:16 tty5
crw--w--w-  1 root       0,   0 Feb  2 15:25 tty8
crw-rw-rw-  1 root      20,   0 May  7  1983 ttya
crw-rw-rw-  1 root      20,   1 May  7  1983 ttyb
crw-rw-rw-  1 root      20,   2 May  7  1983 ttyc
crw-rw-rw-  1 root      20,   3 May  7  1983 ttyd
crw-rw-rw-  1 root      20,   4 May  7  1983 ttye
crw-rw-rw-  1 root      20,   5 May  7  1983 ttyf
crw-rw-rw-  1 root      20,   6 May  7  1983 ttyg
crw-rw-rw-  1 root      20,   7 May  7  1983 ttyh

Non essendo prevista la procedura di arresto del sistema, si può usare sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 017124 (CMPB #3,(R2))

SIMH sim> quit[Invio]

830.4   UNIX versione 7 (RL02)

Si può trovare il file-immagine della versione 7 dello UNIX di ricerca, per un disco RL02, presso <http://www.tuhs.org/Archive/PDP-11/Boot_Images/v7_rl02_1145.gz>. Il file va estratto e quindi va preparato uno script per SIMH.

GNU/Linux gunzip < v7_rl02_1145.gz > unix_v7_root_rl02.dsk[Invio]

Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RL02 cartridge disks.
;
SET     RL   ENABLE
;
ATTACH  RL0  unix_v7_root_rl02.dsk
SHOW    RL0
;
; Should boot manually.
;

Se lo script è contenuto nel file unix_v7.ini, si avvia la simulazione così:

GNU/Linux pdp11 unix_v7.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RL0, 5242KW, attached to unix_v7_root_rl02.dsk, write enabled, RL02

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RL0[Invio]

Se funziona appare l'invito del settore di avvio (@), dal quale va scritto il nome del programma di avvio: boot.

disk boot @boot[Invio]

Quindi si inseriscono le coordinate del file del kernel da avviare:

New Boot, known devices are hp ht rk rl rp tm vt

disk boot rl(0,0)rl2unix[Invio]

mem = 177856

UNIX 

Si annota il contenuto del file /dev/makefile, con il quale si possono creare i file di dispositivo mancanti:

UNIX cd /dev[Invio]

UNIX cat makefile[Invio]

# You will want to do at least a make std (the default), followed by the
# make on the types of disks you have
#

std:
/etc/mknod console  c 0 0
/etc/mknod tty     c 17 0
/etc/mknod tty1     c 0 1
/etc/mknod tty2     c 0 2
/etc/mknod mem      c 8 0
/etc/mknod kmem     c 8 1
/etc/mknod null     c 8 2

rk:
/etc/mknod rk0  b 0 0
/etc/mknod rk1  b 0 1
/etc/mknod rrk0 c 9 0
/etc/mknod rrk1 c 9 1
chmod go-rw rk0 rk1 rrk0 rrk1

rl:
/etc/mknod rl0  b 8 0
/etc/mknod rl1  b 8 1
/etc/mknod rrl0 c 18 0
/etc/mknod rrl1 c 18 1
chmod go-rw rl0 rl1 rrl0 rrl1

rp03:
/etc/mknod rp0 b 1 1
/etc/mknod swap b 1 2
/etc/mknod rp3 b 1 3
/etc/mknod rrp0 c 11 1
/etc/mknod rrp3 c 11 3
chmod go-rw rp0 swap rp3 rrp0 rrp3

rp04 rp05:
/etc/mknod rp0 b 6 0
/etc/mknod swap b 6 1
/etc/mknod rp3 b 6 6
/etc/mknod rrp0 c 14 0
/etc/mknod rrp3 c 14 6
chmod go-rw rp0 swap rp3 rrp0 rrp3

rp06:
/etc/mknod rp0 b 6 0
/etc/mknod swap b 6 1
/etc/mknod rp3 b 6 7
/etc/mknod rrp0 c 14 0
/etc/mknod rrp3 c 14 7
chmod go-rw rp0 swap rp3 rrp0 rrp3

tm:
/etc/mknod mt0 b 3 0
/etc/mknod rmt0 c 12 0
/etc/mknod nrmt0 c 12 128
chmod go+w mt0 rmt0 nrmt0

ht:
/etc/mknod mt0 b 7 64
/etc/mknod mt1 b 7 0
/etc/mknod rmt0 c 15 64
/etc/mknod rmt1 c 15 0
/etc/mknod nrmt0 c 15 192
/etc/mknod nrmt1 c 15 128
chmod go+w mt0 mt1 rmt0 rmt1 nrmt0 nrmt1

Non essendo prevista la procedura di arresto del sistema, si può usare sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 002312 (RTS PC)

SIMH sim> quit[Invio]

830.5   UNIX versione 7 (RL02) «Torsten»

Si può trovare il file-immagine della versione 7 dello UNIX di ricerca, per un disco RL02, modificato da Torsten Hippe, presso <http://www.tuhs.org/Archive/PDP-11/Distributions/other/Torsten_Hippe_v7/v7.gz>. Il file va estratto e quindi va preparato uno script per SIMH.

GNU/Linux gunzip < v7.gz > unix_v7_root_rl02_torsten.dsk[Invio]

Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RL02 cartridge disks.
;
SET     RL   ENABLE
;
ATTACH  RL0  unix_v7_root_rl02_torsten.dsk
SHOW    RL0
;
; Should boot manually.
;

Se lo script è contenuto nel file unix_v7.ini, si avvia la simulazione così:

GNU/Linux pdp11 unix_v7.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RL0, 5242KW, attached to unix_v7_root_rl02_torsten.dsk, write enabled, RL02

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RL0[Invio]

Se funziona appare l'invito del settore di avvio (@), dal quale va scritto il nome del programma di avvio: boot.

disk boot @boot[Invio]

Quindi si inseriscono le coordinate del file del kernel da avviare:

Boot

disk boot rl(0,0)rl1unix[Invio]

mem = 205376

Viene chiesto di eseguire un accesso normale. La parola d'ordine per l'utente root è «pdp». Inizialmente il terminale mostra solo lettere maiuscole:

UNIX SINGLE USER LOGIN: ROOT[Invio]

UNIX PASSWORD: PDP[Invio]

Con il comando successivo si riporta il terminale a funzionare con le lettere minuscole:

UNIX STTY -LCASE[Invio]

Si annota il contenuto del file /dev/makefile, con il quale si possono creare i file di dispositivo mancanti:

UNIX cd /dev[Invio]

UNIX cat makefile[Invio]

basic:
/etc/mknod console c 0 0
/etc/mknod tty c 1 0
/etc/mknod mem c 2 0
/etc/mknod kmem c 2 1
/etc/mknod null c 2 2
chmod go-w+r console
chmod go-w mem kmem
chmod go+rw null tty
chown bin mem kmem null tty
chgrp bin mem kmem null tty

rp:
make TYPE=rp bigdisk

hp:
make TYPE=hp bigdisk

rm:
make TYPE=rm bigdisk

hk:
make TYPE=hk bigdisk

si:
make TYPE=si bigdisk

bigdisk:
/etc/mknod $(TYPE)0 b 2 0
#       /etc/mknod $(TYPE)01 b 2 1
#       /etc/mknod $(TYPE)02 b 2 2
#       /etc/mknod $(TYPE)03 b 2 3
#       /etc/mknod $(TYPE)04 b 2 4
#       /etc/mknod $(TYPE)05 b 2 5
#       /etc/mknod $(TYPE)06 b 2 6
#       /etc/mknod $(TYPE)07 b 2 7
/etc/mknod $(TYPE)1 b 2 8
#       /etc/mknod $(TYPE)11 b 2 9
#       /etc/mknod $(TYPE)12 b 2 10
#       /etc/mknod $(TYPE)13 b 2 11
#       /etc/mknod $(TYPE)14 b 2 12
#       /etc/mknod $(TYPE)15 b 2 13
#       /etc/mknod $(TYPE)16 b 2 14
#       /etc/mknod $(TYPE)17 b 2 15
/etc/mknod r$(TYPE)0 c 11 0
#       /etc/mknod r$(TYPE)01 c 11 1
#       /etc/mknod r$(TYPE)02 c 11 2
#       /etc/mknod r$(TYPE)03 c 11 3
#       /etc/mknod r$(TYPE)04 c 11 4
#       /etc/mknod r$(TYPE)05 c 11 5
#       /etc/mknod r$(TYPE)06 c 11 6
#       /etc/mknod r$(TYPE)07 c 11 7
/etc/mknod r$(TYPE)1 c 11 8
#       /etc/mknod r$(TYPE)11 c 11 9
#       /etc/mknod r$(TYPE)12 c 11 10
#       /etc/mknod r$(TYPE)13 c 11 11
#       /etc/mknod r$(TYPE)14 c 11 12
#       /etc/mknod r$(TYPE)15 c 11 13
#       /etc/mknod r$(TYPE)16 c 11 14
#       /etc/mknod r$(TYPE)17 c 11 15
chmod go-w $(TYPE)[0-7] $(TYPE)[0-7]? r$(TYPE)[0-7] r$(TYPE)[0-7]?

rl:
/etc/mknod rl0 b 3 0
/etc/mknod rl1 b 3 1
/etc/mknod rrl0 c 12 0
/etc/mknod rrl1 c 12 1
chmod go-w rl? rrl?

rk:
/etc/mknod rk0 b 4 0
/etc/mknod rk1 b 4 1
/etc/mknod rrk0 c 13 0
/etc/mknod rrk1 c 13 1
chmod go-w rk? rrk?

dl:
/etc/mknod tty1 c 0 1
/etc/mknod tty2 c 0 2
chmod go-r+w tty[1-2]
< more 64% >dl:
/etc/mknod tty1 c 0 1
/etc/mknod tty2 c 0 2
chmod go-r+w tty[1-2]

pc:
/etc/mknod pc c 4 0
chown bin pc
chgrp bin pc
chmod go+w pc

lp:
/etc/mknod lp c 5 0
chown bin lp
chgrp bin lp
chmod go-rw lp

dc:
/etc/mknod dc0 c 6 0
/etc/mknod dc1 c 6 1
chown bin dc?
chgrp bin dc?
chmod go-rw dc?

dz:
/etc/mknod ttya c 7 0
/etc/mknod ttyb c 7 1
/etc/mknod ttyc c 7 2
/etc/mknod ttyd c 7 3
/etc/mknod ttye c 7 4
/etc/mknod ttyf c 7 5
/etc/mknod ttyg c 7 6
/etc/mknod ttyh c 7 7
chmod go-r+w tty[a-h]

tm:
/etc/mknod mt0 b 0 0
/etc/mknod mt1 b 0 1
/etc/mknod hmt0 b 0 64
/etc/mknod hmt1 b 0 65
/etc/mknod nmt0 b 0 128
/etc/mknod nmt1 b 0 129
/etc/mknod nhmt0 b 0 192
/etc/mknod nhmt1 b 0 193
/etc/mknod rmt0 c 10 0
/etc/mknod rmt1 c 10 1
/etc/mknod hrmt0 c 10 64
/etc/mknod hrmt1 c 10 65
/etc/mknod nrmt0 c 10 128
/etc/mknod nrmt1 c 10 129
/etc/mknod nhrmt0 c 10 192
/etc/mknod nhrmt1 c 10 193
chmod go-w *mt[01]

tc:
/etc/mknod tap0 b 1 0
/etc/mknod tap1 b 1 1
chmod go-w tap[01]

swap:
@echo ln ??? swap

Non essendo prevista la procedura di arresto del sistema, si può usare sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 002312 (RTS PC)

SIMH sim> quit[Invio]

830.6   BSD versione 2.9 (RL02)

Si può trovare il file-immagine della versione 2.9 di BSD, per un disco RL02, presso <http://www.tuhs.org/Archive/PDP-11/Boot_Images/2.9BSD_rl02_1145.gz>. Il file va estratto e quindi va preparato uno script per SIMH.

GNU/Linux gunzip < 2.9BSD_rl02_1145.gz > bsd_2.9_root_rl02.dsk[Invio]

Lo script per SIMH può avere il contenuto seguente:

;
; PDP-11/45 (1972) with only 256 Kibyte RAM memory.
;
SET     CPU  11/45
SHOW    CPU
;
; RL02 cartridge disks.
;
SET     RL   ENABLE
;
ATTACH  RL0  bsd_2.9_root_rl02.dsk
SHOW    RL0
;
; Should boot manually.
;

Se lo script è contenuto nel file bsd_6.9.ini, si avvia la simulazione così:

GNU/Linux pdp11 bsd_6.9.ini[Invio]

PDP-11 simulator V3.6-1
Disabling XQ
CPU, 11/45, FPP, autoconfiguration on, 256KB
RL0, 5242KW, attached to bsd_2.9_root_rl02.dsk, write enabled, RL02

Quindi, dall'invito di SIMH si dà il comando di avvio:

SIMH sim> BOOT RL0[Invio]

:boot

45Boot

Se funziona appare l'invito del programma di avvio (:), dal quale vanno scritte le coordinate per raggiungere il kernel da avviare:

disk boot rl(0,0)rlunix[Invio]

Berkeley UNIX (Rev. 2.9.1) Sun Nov 20 14:55:50 PST 1983
mem = 135872

CONFIGURE SYSTEM:
xp 0 csr 176700 vector 254 attached
rk 0 csr 177400 vector 220 attached
hk 0 csr 177440 vector 210 attached
rl 0 csr 174400 vector 160 attached
rp ? csr 176700 vector 254 interrupt vector already in use
ht 0 csr 172440 vector 224 skipped:  No CSR
tm 0 csr 172520 vector 224 attached
ts 0 csr 172520 vector 224 interrupt vector already in use
dh ? csr 160020 vector 370 skipped:  No CSR
dm ? csr 170500 vector 360 skipped:  No autoconfig routines
dz ? csr 160110 vector 320 interrupt vector wrong
dz ? csr 160110 vector 320 interrupt vector wrong
dn 0 csr 175200 vector 300 skipped:  No autoconfig routines
vp ? csr 177500 vector 174 skipped:  No autoconfig routines
lp 0 csr 177514 vector 200 attached
Erase=^?, kill=^U, intr=^C

Si accede immediatamente alla shell. Si annota il contenuto della directory /dev/; tuttavia, è presente anche lo script MAKE, con il quale si possono creare i file di dispositivo mancanti:

UNIX cd /dev[Invio]

UNIX ls -l[Invio]

total 5
-rwxrwxr-x 1 root     daemon      4375 Sep 19 01:21 MAKE
crw--w--w- 1 root     superuse   0,  0 Dec 31 16:03 console
brw------- 1 root     superuse   4,  0 Mar 29 15:42 hk0a
brw------- 1 root     superuse   4,  1 Mar 29 15:42 hk0b
brw------- 1 root     superuse   4,  2 Mar 29 15:42 hk0c
brw------- 1 root     superuse   4,  3 Mar 29 15:42 hk0d
brw------- 1 root     superuse   4,  6 Mar 29 15:42 hk0g
brw------- 1 root     superuse   4,  7 Mar 29 15:42 hk0h
crw------- 1 root     superuse   8,  1 Dec 31 16:02 kmem
crw------- 1 root     superuse   8,  0 Mar 29 15:40 mem
crw-rw-rw- 1 root     superuse   8,  2 Jul 27 17:58 null
crw------- 1 root     superuse  19,  0 Mar 29 15:42 rhk0a
crw------- 1 root     superuse  19,  1 Mar 29 15:42 rhk0b
crw------- 1 root     superuse  19,  2 Mar 29 15:42 rhk0c
crw------- 1 root     superuse  19,  3 Mar 29 15:42 rhk0d
crw------- 1 root     superuse  19,  6 Mar 29 15:42 rhk0g
crw------- 1 root     superuse  19,  7 Mar 29 15:42 rhk0h
brw------- 1 root     superuse   0,  0 Mar 29 15:40 rk0
brw------- 1 root     superuse   0,  1 Mar 30 00:14 rk1
brw------- 1 root     superuse   8,  0 Mar 29 15:40 rl0
brw------- 1 root     superuse   8,  1 Mar 30 00:14 rl1
brw-rw---- 1 root     daemon     6,  0 Mar 10 12:25 rm0a
brw-rw---- 1 root     daemon     6,  1 Mar 29 08:21 rm0b
brw------- 1 root     superuse   6,  2 Jun  2 09:41 rm0c
brw-rw---- 1 root     daemon     6,  3 Sep 29 18:13 rm0d
brw-rw---- 1 root     daemon     6,  4 Feb 25 04:58 rm0e
brw------- 1 root     superuse   1,  0 Mar 29 15:42 rp0a
brw------- 1 root     superuse   1,  1 Mar 29 15:43 rp0b
brw------- 1 root     superuse   1,  2 Mar 29 15:43 rp0c
brw------- 1 root     superuse   1,  7 Mar 29 15:43 rp0h
crw------- 1 root     superuse   9,  0 Jul 27 17:59 rrk0
crw------- 1 root     superuse   9,  1 Mar 30 00:14 rrk1
crw------- 1 root     superuse  18,  0 Dec 31 16:02 rrl0
crw------- 1 root     superuse  18,  1 Mar 30 00:14 rrl1
crw-rw---- 1 root     daemon    14,  0 Mar 15 18:30 rrm0a
crw-rw---- 1 root     daemon    14,  1 Jul 26 17:42 rrm0b
crw-rw-r-- 1 root     daemon    14,  2 Jan 11 21:19 rrm0c
crw-rw---- 1 root     daemon    14,  3 Mar 26 01:44 rrm0d
crw-rw---- 1 root     daemon    14,  4 Jan 18 08:36 rrm0e
crw------- 1 root     superuse  11,  0 Mar 29 15:42 rrp0a
crw------- 1 root     superuse  11,  1 Mar 29 15:43 rrp0b
crw------- 1 root     superuse  11,  2 Mar 29 15:43 rrp0c
crw------- 1 root     superuse  11,  7 Mar 29 15:43 rrp0h
crw------- 1 root     superuse  14,  0 Mar 29 15:40 rxp0a
crw------- 1 root     superuse  14,  1 Mar 29 15:41 rxp0b
crw------- 1 root     superuse  14,  2 Mar 29 15:41 rxp0c
crw------- 1 root     superuse  14,  3 Mar 29 15:41 rxp0d
crw------- 1 root     superuse  14,  4 Mar 29 15:41 rxp0e
crw------- 1 root     superuse  14,  5 Mar 29 15:41 rxp0f
crw------- 1 root     superuse  14,  6 Mar 29 15:41 rxp0g
crw------- 1 root     superuse  14,  7 Mar 29 15:41 rxp0h
crw-rw-rw- 1 root     superuse  17,  0 Mar 29 15:40 tty
crw--w--w- 1 root     sys       21,  0 Mar  7 09:13 tty00
crw--w--w- 1 root     superuse  21,  1 Mar  7 09:04 tty01
crw--w--w- 1 root     superuse  21,  2 Mar  7 09:04 tty02
crw--w--w- 1 root     superuse  21,  3 Mar  7 09:04 tty03
crw--w--w- 1 root     superuse  21,  4 Jul 26 17:15 tty04
crw--w--w- 1 root     superuse  21,  5 Aug  6 23:09 tty05
crw--w--w- 1 root     superuse  21,  6 Mar  7 09:04 tty06
crw--w--w- 1 root     superuse  21,  7 Mar  7 09:04 tty07
crw------- 1 root     superuse   4,  0 Mar 30 00:14 ttyh0
crw------- 1 root     superuse   4,  1 Mar 30 00:14 ttyh1
crw------- 1 root     superuse   4,  2 Mar 30 00:14 ttyh2
crw------- 1 root     superuse   4,  3 Mar 30 00:14 ttyh3
crw------- 1 root     superuse   4,  4 Mar 30 00:14 ttyh4
crw------- 1 root     superuse   4,  5 Mar 30 00:14 ttyh5
crw------- 1 root     superuse   4,  6 Mar 30 00:14 ttyh6
crw------- 1 root     superuse   4,  7 Mar 30 00:14 ttyh7
crw------- 1 root     superuse   4,  8 Mar 30 00:14 ttyh8
crw------- 1 root     superuse   4,  9 Mar 30 00:14 ttyh9
crw------- 1 root     superuse   4, 10 Mar 30 00:14 ttyha
crw------- 1 root     superuse   4, 11 Mar 30 00:14 ttyhb
crw------- 1 root     superuse   4, 12 Mar 30 00:14 ttyhc
crw------- 1 root     superuse   4, 13 Mar 30 00:14 ttyhd
crw------- 1 root     superuse   4, 14 Mar 30 00:14 ttyhe
crw------- 1 root     superuse   4, 15 Mar 30 00:14 ttyhf
brw------- 1 root     superuse   6,  0 Mar 29 15:40 xp0a
brw------- 1 root     superuse   6,  1 Mar 29 15:40 xp0b
brw------- 1 root     superuse   6,  2 Mar 29 15:41 xp0c
brw------- 1 root     superuse   6,  3 Mar 29 15:41 xp0d
brw------- 1 root     superuse   6,  4 Mar 29 15:41 xp0e
brw------- 1 root     superuse   6,  5 Mar 29 15:41 xp0f
brw------- 1 root     superuse   6,  6 Mar 29 15:41 xp0g
brw------- 1 root     superuse   6,  7 Mar 29 15:41 xp0h

Sarebbe disponibile il comando shutdown, ma non sembra funzionare come di consueto. Pertanto, si può usare sync, dopo il quale è possibile interrompere il funzionamento del simulatore con la combinazione [Ctrl e].

UNIX sync[Invio]

UNIX [Ctrl e]

Simulation stopped, PC: 016662 (MOV #200,R4)

SIMH sim> quit[Invio]

830.7   Riferimenti


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome installazione_di_file_immagine_pronti.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory