Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Links:

SIMH:

RSX-11 tips and tricks

Formatting (initializing) a disk using rsx-11 on simh

When adding a disk image to simh using “attach” simh will create the file if it does not yet exist- but it will be a file containing all zeroes - not a file system. This means it cannot be used by rsx-11 directly; it needs to be formatted.

Assume the following as simh setup:

Code Block
set rq1 rd54
attach rq1 -i rsx11-1.dsk

When starting simh will create that file if it does not exist. After that we need to start rsx-11:

Code Block
sim> boot rq0



RSX-11M-PLUS V4.6  BL87   1920.KW  System:"RSXMPL"
>RED DU:=SY:
>RED DU:=LB:
>RED DU:=SP:
>MOU DU0:"RSX11MPBL87"
>@DU:[1,2]STARTUP
>; 			PLEASE NOTE
>;
>;	If you have not yet read the system release notes, please do so
>;	now before attempting to perform a SYSGEN or to utilize the new
>;	features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: 16:15 16-may-2024
>TIME 16:15 16-may-2024
>ACS SY:/BLKS=1024.
>CON ONLINE ALL
>ELI /LOG/LIM
>CLI /INIT=DCL/CTRLC/DPR="<15><12>/$ /"
>INS LB:[1,1]RMSRESAB.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBL.TSK/RON=YES/PAR=GEN
>INS LB:[1,1]RMSLBM.TSK/RON=YES/PAR=GEN
>INS $QMGCLI
>INS $QMGCLI/TASK=...PRI
>INS $QMGCLI/TASK=...SUB
>QUE /START:QMG
>INS $QMGPRT/TASK=PRT.../SLV=NO
>QUE LP0:/CR/NM
>START/ACCOUNTING
>CON ESTAT LP0:
>QUE BAP0:/BATCH
>QUE BAP0:/AS:BATCH
>@ <EOF>
>

The device we want to initialize is rq1, which becomes du1 in rsx-11. We can see it using an rsx command:

Code Block
>show dev du
DU0:	 Public Mounted Loaded Label=RSX11MPBL87 Type=RD54  
DU1:	 Loaded Type=RD54  
DU2:	 Loaded Type=RD54  
DU3:	 Loaded Type=RX50  

First allocate the du1 device so that it becomes our “private” device, i.e. usable for our terminal only, then mount it, and finally initialize it:

Code Block
>allocate du1:
>mount du1:/foreign
>ini du1:/mxf=8000.
Searching for bad block descriptor file
INI -- Failed to read bad block file

This uses the dcl INITIALIZE VOLUME command, see the rsx reference for details.

Next, unmount and remount

Code Block
>dmo du1:
16:22:02  *** DU1:  -- Dismount complete
DMO -- TT0:    dismounted from DU1:    *** Final dismount initiated ***
>mount du1:
>show dev du
DU0:	 Public Mounted Loaded Label=RSX11MPBL87 Type=RD54  
DU1:	 TT0: - Private Mounted Loaded Label= Type=RD54  
DU2:	 Loaded Type=RD54  
DU3:	 Loaded Type=RX50  

We can now show the root directory for the new device:

Code Block
>dir du1:[0,0]

Directory DU1:[0,0]
16-MAY-24 16:22

INDEXF.SYS;1        4009.      16-MAY-24 16:20
BITMAP.SYS;1        77.        16-MAY-24 16:20
BADBLK.SYS;1        0.         16-MAY-24 16:20
000000.DIR;1        1.      C  16-MAY-24 16:20
CORIMG.SYS;1        0.         16-MAY-24 16:20

Total of 4087./4087. blocks in 5. files

Mounting the TCP/IP disk image

The RSX-11 TCP/IP stack can be found here: http://mim.stupi.net/tcpip.htm . You can download an rl02 disk image that should then be mounted in the simulator/machine.

To mount, first add the following lines to the simh config file (or type them in on the simh command prompt):

Code Block
# tcp/ip rl02 installation image
set rl enabled
set rl0 rl02
attach rl0 bqtcp.dsk

Make sure your sysgen has support for rl02 drives, if not redo it.

Now start rsx-11, then do the following after finishing startup:

Code Block
>bye
Have a Good Evening
12-AUG-90 22:17   TT0:  logged off DE0N   
>
>hello [1,1]/system

RSX-11M-PLUS V4.6   BL87    [1,54] System    DE0N   
12-AUG-90 22:17    Logged on Terminal TT0:  as SYS1

Good Evening
> mou dl0: /ovr # this overrides the missing volume label
>dir dl0:[0,0]
Directory DL0:[0,0]
12-AUG-90 22:25

INDEXF.SYS;1        637.       05-JUL-24 01:11
BITMAP.SYS;1        6.         05-JUL-24 01:11
BADBLK.SYS;1        20.        05-JUL-24 01:11
000000.DIR;1        2.      C  05-JUL-24 01:11
CORIMG.SYS;1        0.         05-JUL-24 01:11
LIB.DIR;1           1.      C  05-JUL-24 01:11
IP.DIR;1            3.      C  05-JUL-24 01:11
IPAPPL.DIR;1        1.      C  05-JUL-24 01:11
TELNETD.DIR;1       1.      C  05-JUL-24 01:11
IPHLP.DIR;1         1.      C  05-JUL-24 01:11
FTP.DIR;1           1.      C  05-JUL-24 01:11
FTPD.DIR;1          1.      C  05-JUL-24 01:11
MAILD.DIR;1         2.      C  05-JUL-24 01:11
IPBP2.DIR;1         1.      C  05-JUL-24 01:11
IPC.DIR;1           2.      C  05-JUL-24 01:11
IPF77.DIR;1         1.      C  05-JUL-24 01:11
IPPAS.DIR;1         1.      C  05-JUL-24 01:11
IPLISP.DIR;1        1.      C  05-JUL-24 01:11
DHCP.DIR;1          1.      C  05-JUL-24 01:11
RWHOD.DIR;1         1.      C  05-JUL-24 01:11
HTTP.DIR;1          1.      C  05-JUL-24 01:11
HTTPD.DIR;1         1.      C  05-JUL-24 01:11
CGIDEMO.DIR;1       1.      C  05-JUL-24 01:11
INETD.DIR;1         1.      C  05-JUL-24 01:11
IRCBOT.DIR;1        1.      C  05-JUL-24 01:11
IRC.DIR;1           1.      C  05-JUL-24 01:11
LPT.DIR;1           1.      C  05-JUL-24 01:11
IPRMD.DIR;1         1.      C  05-JUL-24 01:11
NTP.DIR;1           1.      C  05-JUL-24 01:11
IPNET.DIR;1         1.      C  05-JUL-24 01:11
MKE.DIR;1           1.      C  05-JUL-24 01:11
IPEXAMPLE.DIR;1     2.      C  05-JUL-24 01:11
PATCHES.DIR;1       1.      C  05-JUL-24 01:11

To actually install TCP/IP we need to copy the disk to du0:

Code Block
> dmo dl0:
> mou/for dl0:
> bru /bac:tcpip/noini/ufd/new dl0: du:

I should set the UIC to default, but that does not work:

Code Block
>set /uic=dl0:[ip]
SET -- Device not terminal 

So instead we start directly:

Code Block
>@sy:[ip]ipgen

This runs a script. Answer the questions, and after that shutdown and restart.

To make tcp/ip run after the restart:

Code Block
>@du:[ip]ipins.cmd

and after that

Code Block
@du:[ip]ipappl

Output for these:

Code Block
>@du:[ip]ipappl
>@ <EOF>
>
>ifconfig show pool
IPPOOL does not exist!
>@du:[ip]ipins.cmd
>loa if:/vec/high
>loa ip:/vec/high
>loa ud:/vec/high
>loa tc:/vec/high
LOA -- Warning - loadable driver larger than 4K
>con onl if0:
>con onl if1:
>con onl ip:
>con onl ud:
>con onl tc:
>ins LB:[IP]resacp
>ins LB:[IP]spoof
>dfl "dino"=HOSTNAME/GBL
>dfl "etc.to"=DNS$DOMAIN/GBL
>dfl LB:[1,2]HOSTS.TXT=HOSTS/GBL
>dfl "LOGICAL,DNS,FILE"=RESOLV$ORDER/GBL
>dfl "LOGICAL,FILE"=RESOLV$ORDER
>ifc create 256
>ifc start
Starting IP.
Starting UD.
Starting TC.
>ifc set IF0: add 192.168.1.234 mask 255.255.255.0
>ifc set IF0: sta ope
>ifc set IF1: add 127.0.0.1 mask 255.0.0.0
>ifc set IF1: sta ope
>ifc add rou 0.0.0.0 gat 192.168.1.1
RESACP - Starting resolver X0.17.

>run spoof 1t
>dfl =RESOLV$ORDER
SPOOF detector V1.5 active.
>@ <EOF>
>@du:[ip]ipappl
>DFL "LB:[IPLOG]"=IP$LOG/GBL
>DFL "LB:[HTTP]"=SYS$HTTP/GBL
>DFL "LB:[HTTPD]"=HTTPD$ROOT/GBL
>DFL "Welcome to DINO, rsx-11m-plus on pdp11/44"=TELNET$WELCOME/GR=5
>INS LB:[1,1]CCSMRX/PAR=GEN/RON=YES/PRO=[RE,RE,RE,RE]
>INS LB:[1,1]BP2SML/PAR=GEN/RON=YES/PRO=[RE,RE,RE,RE]
>INS LB:[IP]TELCOM/UIC=[1,54]/PRO=[RW,RW,,]
>INS LB:[IP]WWWRES
>INS LB:[IP]FTPD
RESACP - Resolver exiting...

>REM RESACP
>INS LB:[IP]RESACPFSL
>INS LB:[IP]RWHOD
>INS LB:[IP]NTPDATRES
>INS LB:[IP]TELNETD
>INS LB:[IP]INETD
>RUN TELNET 1T
>RUN NTPD 1T/RSI=24H
>RUN RWHOD 1T
>IFC ADD TCP PORT 7 SER IND$$$ MAX 2
>IFC ADD TCP PORT 9 SER IND$$$ MAX 2
>IFC ADD TCP PORT 13 SER IND$$$ MAX 2
>IFC ADD TCP PORT 17 SER IND$$$ MAX 2
>IFC ADD TCP PORT 21 SER FTP$$$ MAX 5
>IFC ADD TCP PORT 80 SER WWW$$$ MAX 5
>IFC ADD TCP PORT 113 SER IND$$$ MAX 10
>dfl lb:[maild]=maild$/gbl
TELNETD - Creating TN device with 8 units.
TELNETD V1.23 - server started.
NTPDATE - No host to connect to...

>pip maild$:mailnote.dat;/de/nm
>ins maild$:maild/task=mai$$$
>ins maild$:maild/task=maild/pri=20.
>ins maild$:maild/task=mailn0/pri=20.
>ins maild$:maild/task=mailn1/pri=20.
>ins maild$:maild/task=mai...
>ins maild$:maild/task=...mqm/slv=no
>ins maild$:mailrd/task=...mai
>ins maild$:mailrd/task=...sen
>ins maild$:mailrd/task=...new
>run maild/rsi=30m
>ifc add tcp port 25 ser mai$$$ max 5
>ncp set obj 27 nam mai$$$ cop 5 user default veri off
>ins maild$:mailman
>INS LB:[IP]NETSTAT
>INS LB:[IP]PING
>INS LB:[IP]TRACERT
>INS LB:[IP]DNS
>INS LB:[IP]TELNET
>INS LB:[IP]FTP
>INS LB:[IP]RUPTIME
>INS LB:[IP]RWHO
>@ <EOF>
>
 RESACP - Starting resolver X0.17.

>

Once this is done we can see ip configuration:

Code Block
> ins du:[ip]ifconfig
>ifconfig show pool
POOL info.
Version: 9
Total:   256K
In use:  11.1K (4.3%)
Max use: 11.1K (4.3%)
Alloc f: 0
>ifconfig show all
MAILD: Failed to open log file

Intf   State Address                        Broadcast       MTU   ACP    Line
IF0:   *Run  192.168.1.234/24               192.168.1.255   8128         
IF1:   *Run  127.0.0.1/8                    127.255.255.255 8128