Sunday, July 15, 2012

Installing RSX-11M 4.6 from scratch - Part 3: Post-installation tasks

This is the last entry of the series depicting a full installation of the RSX-11M operating system from scratch in a simulated PDP-11 created using simh. In the previous two entries we created a baseline system from the distribution tape image and proceeded to generate the operating system itself. In this last entry we will finish the installation by:
  • Tailoring the system image.
  • Providing HELP support.
  • Creating user accounts.
  • Customizing the system startup procedure.
We begin with a pristine system, as we left it in the part 2 of this series, and we will end with a fully configured system ready to be used. However, we won't cover the installation of layered products like language processors (compilers) or decnet support (network).

Tailoring the system image

First thing we can do is to modify the system image to our convenience. In this example we will just change the terminal type for the console (TT0:) so we get a more friendly environment during the boot process. We could configure ALL the system terminals in this moment, but it is not really necessary, since we can do it in the system startup procedure.  This is a really easy thing to do, as seen in the next console log, which begins with the initial bootup of our system.

sim> b rp


  RSX-11M V4.6 BL56   124.K MAPPED

>RED DB:=SY:
>RED DB:=LB:
>MOU DB:RSXM56
>@DB:[1,2]STARTUP
>* PLEASE ENTER TIME AND DATE (HR:MN DD-MMM-YY) [S]: 13:15 15-JUL-92
>TIM 13:15 15-JUL-92
>* ENTER LINE WIDTH OF THIS TERMINAL [D D:132.]: 
>SET /BUF=TI:132.
>ACS SY:/BLKS=1024.
>;
>; This system startup command file (LB:[1,2]STARTUP.CMD) contains a
>; template of commands to initialize the queue print spooler and queue
>; LP0:, initialize the error logger, initialize the DCL CLI, and install
>; the RMS Library and Utilities.  As is these commands are commented out
>; and are not executed.  To include these commands as part of the
>; startup procedure, edit the file to remove the period and semi-colon
>; (.;) comment delimiter from the beginning of each line.  These
>; commands may be useful for initializing the various facilities for
>; your installation or else they may provide a model with which to
>; tailor initialization commands for your particular installation. 
>;

>@ <eof>
>SET /UIC=[1,54]
>RUN VMR
Enter filename: RSX11M
VMR>SET /VT100=TT0:
>^Z

At the next boot, TT0: will be treated as a VT100 so we will get proper line-editing capabilities when we enter the time and line size. It's a small improvement, but useful anyway...

Providing HELP

The system install process copies the HELP content into [1,2] in the form of a Universal Library, HELP.ULB. To get proper HELP we need to extract the contents of that library. We will be asked if we want complete (FULL) or simplified (BRIEF) help, and if we want to extract also the "introductory" files used to support the basic RSX user manual. In this installation we will ask for FULL help text and we will also get the introductory files. Back in the 70-80s, when the storage space was expensive the system managers would have analyzed the real needs of their user base and the cost of the media used to hold the files. Since we don't have those worries, we will go for the full set...

>SET /UIC=[1,2]
>INS $LBR
>LBR HELPBUILD.CMD=HELP.ULB/EX:BUILD
>@HELPBUILD
>;
>; BRIEF HELP support for MCR and/or DCL gives the command,
>; function, and syntax without extensive comments.
>;
>; FULL HELP support for MCR and/or DCL gives a full description
>; of each command element rather than just listing them.
>;
>; There is no difference between FULL and BRIEF HELP support
>; for the RSX-11M UTILITIES.
>;
>; Answer YES if you want FULL HELP support for MCR and all
>; the UTILITIES.
>;
>* Do you want FULL HELP support for MCR? [Y/N]: Y
>;
>; Answer YES if you want FULL HELP support for DCL and all
>; the UTILITIES. 
>;
>* Do you want FULL HELP support for DCL? [Y/N]: Y
>;
>; Answer YES if you want the INTRODUCTORY files used with the manual 
>; 'INTRODuction to RSX-11M'.  This manual includes a full interactive
>; terminal session.  These files are used with that session.  See the
>; section on help files in the Post-System-Generation Guidelines
>; Chapter of the RSX-11M System Generation and Installation Guide for
>; more information.
>;
>* Do you want the INTRODUCTORY FILES? [Y/N]: Y
>;
>; The following options have been selected:
>;
>;  FULL HELP SUPPORT FOR MCR
>; FULL HELP SUPPORT FOR DCL
>; INTRODUCTORY FILES
>;
>; The appropriate files will now be extracted from the
>; HELP Universal Library.
>;
>LBR MCRFULL.CMD=HELP.ULB/EX:MCRFUL
>;
>; This file extracts all the files that are necessary when full MCR
>; help is chosen.
>;
>LBR HELPF.HLP=HELP.ULB/EX:HELPF
>LBR MCR.HLP=HELP.ULB/EX:MCR
>LBR MCRACT.HLP=HELP.ULB/EX:ACT
>LBR MCRALT.HLP=HELP.ULB/EX:ALT
>LBR MCRASN.HLP=HELP.ULB/EX:ASN
>LBR MCRATL.HLP=HELP.ULB/EX:ATL
>LBR MCRBRO.HLP=HELP.ULB/EX:BRO
>LBR MCRCLI.HLP=HELP.ULB/EX:CLI
>LBR MCRFLA.HLP=HELP.ULB/EX:FLA
>LBR MCRGENRL.HLP=HELP.ULB/EX:GENRL
>LBR MCRHELO.HLP=HELP.ULB/EX:HELO
>LBR MCRHELP.HLP=HELP.ULB/EX:MHELP
>LBR MCRHOM.HLP=HELP.ULB/EX:HOM
>LBR MCRINI.HLP=HELP.ULB/EX:INI
>LBR MCRINS.HLP=HELP.ULB/EX:INS
>LBR MCRLOA.HLP=HELP.ULB/EX:LOA
>LBR MCRLOGIN.HLP=HELP.ULB/EX:MLOGIN
>LBR MCRMOU.HLP=HELP.ULB/EX:MOU
>LBR MCROPE.HLP=HELP.ULB/EX:OPE
>LBR MCRRUN.HLP=HELP.ULB/EX:MRUN
>LBR MCRSAV.HLP=HELP.ULB/EX:SAV
>LBR MCRSET.HLP=HELP.ULB/EX:SET
>LBR MCRTAS.HLP=HELP.ULB/EX:TA
>LBR MCRUFD.HLP=HELP.ULB/EX:UFD
>LBR DCLFULL.CMD=HELP.ULB/EX:DCLFUL
>;
>; This file extracts all the files that are necessary when full DCL
>;  help is chosen.
>;
>LBR DCL.HLP=HELP.ULB/EX:DCL
>LBR DCLABORT.HLP=HELP.ULB/EX:ABORT
>LBR DCLALLOC.HLP=HELP.ULB/EX:ALLOC
>LBR DCLANALYZ.HLP=HELP.ULB/EX:ANALYZ
>LBR DCLANALER.HLP=HELP.ULB/EX:ANALER
>LBR DCLANALCD.HLP=HELP.ULB/EX:ANALCD
>LBR DCLAPPEND.HLP=HELP.ULB/EX:APPEND
>LBR DCLASSIGN.HLP=HELP.ULB/EX:ASSIGN
>LBR DCLASSQ.HLP=HELP.ULB/EX:ASSQ
>LBR DCLBACKUP.HLP=HELP.ULB/EX:BACKUP
>LBR DCLBASIC.HLP=HELP.ULB/EX:DBASIC
>LBR DCLBRO.HLP=HELP.ULB/EX:DCLBRO
>LBR DCLC81.HLP=HELP.ULB/EX:DCLC81
>LBR DCLCANCEL.HLP=HELP.ULB/EX:CANCEL
>LBR DCLCOBOL.HLP=HELP.ULB/EX:DCOBOL
>LBR DCLCONT.HLP=HELP.ULB/EX:CONT
>LBR DCLCONV.HLP=HELP.ULB/EX:CONV
>LBR DCLCOPY.HLP=HELP.ULB/EX:COPY
>LBR DCLCORAL.HLP=HELP.ULB/EX:DCORAL
>LBR DCLCREATE.HLP=HELP.ULB/EX:CREATE
>LBR DCLDEASS.HLP=HELP.ULB/EX:DEASS
>LBR DCLDEASSQ.HLP=HELP.ULB/EX:DEASSQ
>LBR DCLDELETE.HLP=HELP.ULB/EX:DELETE
>LBR DCLDELJ.HLP=HELP.ULB/EX:DELJ
>LBR DCLDELQ.HLP=HELP.ULB/EX:DELQ
>LBR DCLDIFF.HLP=HELP.ULB/EX:DIFF
>LBR DCLDIR.HLP=HELP.ULB/EX:DIR
>LBR DCLDIS.HLP=HELP.ULB/EX:DIS
>LBR DCLEDIT.HLP=HELP.ULB/EX:EDIT
>LBR DCLEDT.HLP=HELP.ULB/EX:DEDT
>LBR DCLFIX.HLP=HELP.ULB/EX:FIX
>LBR DCLFORT.HLP=HELP.ULB/EX:FORT
>LBR DCLHELP.HLP=HELP.ULB/EX:DHELP
>LBR DCLHOLD.HLP=HELP.ULB/EX:HOLD
>LBR DCLINIT.HLP=HELP.ULB/EX:INIT
>LBR DCLINST.HLP=HELP.ULB/EX:INST
>LBR DCLLIB.HLP=HELP.ULB/EX:LIB
>LBR DCLLINK.HLP=HELP.ULB/EX:LINK
>LBR DCLLOGIN.HLP=HELP.ULB/EX:LOGIN
>LBR DCLLOGOUT.HLP=HELP.ULB/EX:LOGOUT
>LBR DCLMACRO.HLP=HELP.ULB/EX:MACRO
>LBR DCLMCR.HLP=HELP.ULB/EX:DCLMCR
>LBR DCLMOUNT.HLP=HELP.ULB/EX:MOUNT
>LBR DCLPRINT.HLP=HELP.ULB/EX:DPRIT
>LBR DCLPURGE.HLP=HELP.ULB/EX:PURGE
>LBR DCLREL.HLP=HELP.ULB/EX:REL
>LBR DCLREMOVE.HLP=HELP.ULB/EX:REMOVE
>LBR DCLRENAME.HLP=HELP.ULB/EX:RENAME
>LBR DCLREQ.HLP=HELP.ULB/EX:REQ
>LBR DCLRES.HLP=HELP.ULB/EX:DCLRES
>LBR DCLRUN.HLP=HELP.ULB/EX:DRUN
>LBR DCLSET.HLP=HELP.ULB/EX:DSET
>LBR DCLSETQ.HLP=HELP.ULB/EX:SETQ
>LBR DCLSHORTS.HLP=HELP.ULB/EX:SHORTS
>LBR DCLSHOW.HLP=HELP.ULB/EX:SHOW
>LBR DCLSHOWP.HLP=HELP.ULB/EX:SHOWP
>LBR DCLSHOWQ.HLP=HELP.ULB/EX:SHOWQ
>LBR DCLSTART.HLP=HELP.ULB/EX:START
>LBR DCLSTOP.HLP=HELP.ULB/EX:STOP
>LBR DCLTYPE.HLP=HELP.ULB/EX:TYPE
>LBR DCLUNFIX.HLP=HELP.ULB/EX:UNFIX
>LBR UTIL.CMD=HELP.ULB/EX:UTIL
>;
>; This file contains commands to extract all the utility files
>; from HELP.ULB.  These files are extracted if any form of HELP
>; is requested (i.e. full MCR or DCL, or brief MCR or DCL).
>;
>LBR ASCII.HLP=HELP.ULB/EX:ASCII
>LBR BAD.HLP=HELP.ULB/EX:BAD
>LBR BRU.HLP=HELP.ULB/EX:BRU
>LBR CDA.HLP=HELP.ULB/EX:CDA
>LBR CMP.HLP=HELP.ULB/EX:CMP
>LBR COT.HLP=HELP.ULB/EX:COT
>LBR DMP.HLP=HELP.ULB/EX:DMP
>LBR DSC.HLP=HELP.ULB/EX:DSC
>LBR EDI.HLP=HELP.ULB/EX:EDI
>LBR EDTHELP.HLP=HELP.ULB/EX:EDTHLP
>LBR ERROR.HLP=HELP.ULB/EX:ERROR
>LBR EXECUTIVE.HLP=HELP.ULB/EX:EXEC
>LBR FCS.HLP=HELP.ULB/EX:FCS
>LBR FLX.HLP=HELP.ULB/EX:FLX
>LBR FMT.HLP=HELP.ULB/EX:FMT
>LBR ICP.HLP=HELP.ULB/EX:ICP
>LBR IOX.HLP=HELP.ULB/EX:IOX
>LBR LBR.HLP=HELP.ULB/EX:LBR
>LBR MAG.HLP=HELP.ULB/EX:MAG
>LBR MERGE.HLP=HELP.ULB/EX:MERGE
>LBR ODT.HLP=HELP.ULB/EX:ODT
>LBR PAT.HLP=HELP.ULB/EX:PAT
>LBR PIP.HLP=HELP.ULB/EX:PIP
>LBR PMD.HLP=HELP.ULB/EX:PMD
>LBR SLP.HLP=HELP.ULB/EX:SLP
>LBR SORT.HLP=HELP.ULB/EX:SORT
>LBR SYSGEN.HLP=HELP.ULB/EX:SYSGEN
>LBR SYSLIB.HLP=HELP.ULB/EX:SYSLIB
>LBR TKB.HLP=HELP.ULB/EX:TKB
>LBR TDX.HLP=HELP.ULB/EX:TDX
>LBR TKBOPT.HLP=HELP.ULB/EX:TKBOPT
>LBR TKTN.HLP=HELP.ULB/EX:TKTN
>LBR VFY.HLP=HELP.ULB/EX:VFY
>LBR VMR.HLP=HELP.ULB/EX:VMR
>LBR ZAP.HLP=HELP.ULB/EX:ZAP
>LBR RMS.HLP=HELP.ULB/EX:RMS
>LBR RMSBCK.HLP=HELP.ULB/EX:RMSBCK
>LBR RMSCNV.HLP=HELP.ULB/EX:RMSCNV
>LBR RMSDEF.HLP=HELP.ULB/EX:RMSDEF
>LBR RMSDES.HLP=HELP.ULB/EX:RMSDES
>LBR RMSDSP.HLP=HELP.ULB/EX:RMSDSP
>LBR RMSIFL.HLP=HELP.ULB/EX:RMSIFL
>LBR RMSRST.HLP=HELP.ULB/EX:RMSRST
>LBR MCRUTIL.CMD=HELP.ULB/EX:MCRUTL
>;
>; This file extracts all the files required when either MCR brief
>; or full help was chosen.
>;
>LBR BAS.HLP=HELP.ULB/EX:BAS
>LBR MCRCCC.HLP=HELP.ULB/EX:MCRCCC
>LBR MCRCORAL.HLP=HELP.ULB/EX:MCORAL
>LBR MCREDT.HLP=HELP.ULB/EX:MCREDT
>LBR MCRFORT.HLP=HELP.ULB/EX:MFORT
>LBR MCRMAC.HLP=HELP.ULB/EX:MCRMAC
>LBR MCRPRINT.HLP=HELP.ULB/EX:MPRINT>LBR MCRQUE.HLP=HELP.ULB/EX:MCRQUE
>LBR MCRPASCAL.HLP=HELP.ULB/EX:MPASCL
>LBR DCLUTIL.CMD=HELP.ULB/EX:DCLUTL
>;
>; This is a command file to extract any files that go with either
>; full or brief DCL help.
>;
>LBR DCLCCC.HLP=HELP.ULB/EX:DCLCCC
>LBR DCLPASCAL.HLP=HELP.ULB/EX:DPASCL
>LBR INTRO.ULB=HELP.ULB/EX:INTRO
>LBR INTROFIL.CMD=INTRO.ULB/EX:INTROF
>@<EOF>

Right now we have full HELP support, both for MCR and DCL.

Creating user accounts

If we want to use our RSX system in multiuse mode must create the accounts file and define some user accounts. We will define a SYSTEM account, bound to the [1,2] UIC, and a USER account, bound to [200,1]. Additionally, we will provide the USER account with the introductory files extracted from the help universal library. We will create those accounts with no password... Of course this is not a good idea if you want to share your system with someone else...

Creating the accounts file

To create and manage the accounts file we must use the ACNT program, located in the [1,54] UIC. The first step is to create the accounts file itself using the "C" command. This is the corresponding console log:

>SET /UIC=[1,54]

>RUN ACNT
 * ACCOUNT FILE MAINTENANCE PROGRAM *


Options are: A - ADD, C - CREATE FILE, D - DELETE, E - EXAMINE,
L - LIST, M - MODIFY, S - SORT,  CTRL/Z - EXIT

Enter option: C

Enter maximum number of accounts: 25

Options are: A - ADD, C - CREATE FILE, D - DELETE, E - EXAMINE,
L - LIST, M - MODIFY, S - SORT,  CTRL/Z - EXIT

Enter option:

Creating the SYSTEM and USER accounts

Now we can create our two initial accounts.

Enter option: A
Enter account or  for options ( N,N ): 1,2
Password ( <=6 chars. ): 
Default system device ( DDU ): DB0
First name ( <=12 chars. ): 
Last name ( <=14 chars. ): SYSTEM
Enter user CLI (default=MCR): 
Slave terminal? [Y/N]: 
UFD DB00:[001,002]
UFD -- Directory already exists

>

Enter account or  for options ( N,N ): 200,1
Password ( <=6 chars. ): 
Default system device ( DDU ): DB0
First name ( <=12 chars. ): 
Last name ( <=14 chars. ): USER
Enter user CLI (default=MCR): 
Slave terminal? [Y/N]: 
UFD DB00:[200,001]


UFD -- Directory already exists

>
Enter account or  for options ( N,N ): <ESC>

Options are: A - ADD, C - CREATE FILE, D - DELETE, E - EXAMINE,
L - LIST, M - MODIFY, S - SORT,  CTRL/Z - EXIT

Enter option: ^Z

Operation complete


Copying the introductory files to the USER account

Once we have created the accounts and exited the ACNT program, we can provide the introductory files to the user account.

>SET /UIC=[200,1]

>PIP /NV=[1,2]INTRO.ULB,INTROFIL.CMD
>@INTROFIL
>LBR CLEAN.CMD=INTRO.ULB/EX:CLEAN
>LBR CLKGEN.CMD=INTRO.ULB/EX:CLKGEN
>LBR DELETE.CMD=INTRO.ULB/EX:DELETE
>LBR LOGIN.CMD=INTRO.ULB/EX:LOGIN
>LBR MYDISK.CMD=INTRO.ULB/EX:MYDISK
>LBR SHAVE.CMD=INTRO.ULB/EX:SHAVE
>LBR SHOW.CMD=INTRO.ULB/EX:SHOW
>LBR CLOCK.MAC=INTRO.ULB/EX:CLOCK
>LBR HIYA.MAC=INTRO.ULB/EX:HIYA
>LBR STARS.MAC=INTRO.ULB/EX:STARS
>LBR TMCLI.MAC=INTRO.ULB/EX:TMCLI
>LBR TMCLI.FTN=INTRO.ULB/EX:TMCLI1
>LBR ERROR.TSK=INTRO.ULB/EX:ERROR1
>LBR SEVERE.TSK=INTRO.ULB/EX:SEVERE
>LBR SUCCESS.TSK=INTRO.ULB/EX:SUCESS
>LBR WARNING.TSK=INTRO.ULB/EX:WARNING
>LBR FLU.TXT=INTRO.ULB/EX:FLU
>LBR FLY.TXT;1=INTRO.ULB/EX:FLY1
>LBR FLY.TXT;2=INTRO.ULB/EX:FLY2
>LBR FLY.TXT;3=INTRO.ULB/EX:FLY3
>LBR HELLO.TXT=INTRO.ULB/EX:HELLO
>LBR LONG.TXT=INTRO.ULB/EX:LONG
>LBR WHATSHERE.TXT=INTRO.ULB/EX:WHATS
>@ 


And that's it. We have now two accounts, a privileged one and a user, nonprivileged one.


Customizing the system startup procedure
The system startup procedure, STARTUP.CMD, is located in the [1,2] directory. The installation provides us with a template we can modify to our preference. This is the one I'm using as a starting point. The lines I added or modified are highlighted in bold.

.ENABLE SUBSTITUTION
.SETS   RK05    "DK"
.SETS   RL01    "DL"
.ASKS TIM PLEASE ENTER TIME AND DATE (HR:MN DD-MMM-YY)
TIM 'TIM'
.ASKN [::132.] N ENTER LINE WIDTH OF THIS TERMINAL
SET /BUF=TI:'N'.
.IF RK05 EQ "'<sydisk>'" .GOTO END
.IF RL01 NE "'<sydisk>'" .GOTO BIG
.IFINS ...ACS  ACS SY:/BLKS=512.
.GOTO END
.BIG:
.IFINS ...ACS  ACS SY:/BLKS=1024.
.END:
.IFT <baslin> .GOTO 50
.IFNINS QUE .IFNINS ELI .IFNINS DCL .GOTO 50
;
; This system startup command file (LB:[1,2]STARTUP.CMD) contains a
; template of commands to initialize the queue print spooler and queue
; LP0:, initialize the error logger, initialize the DCL CLI, and install
; the RMS Library and Utilities.  As is these commands are commented out
; and are not executed.  To include these commands as part of the
; startup procedure, edit the file to remove the period and semi-colon
; (.;) comment delimiter from the beginning of each line.  These
; commands may be useful for initializing the various facilities for
; your installation or else they may provide a model with which to
; tailor initialization commands for your particular installation.
;
.50:
.;      ;
.;      ; INITIALIZE THE QUEUE PRINT SPOOLER
.;      ;
.;      ; START THE QUEUE MANAGER
        QUE /START:QMG
.;      ; QUEUE LP0:
        QUE LP0:/CR/NM
        QUE LP0:/SPOOL/FLAG:1
        QUE LP0:/ASSIGN:PRINT
.;      ;
.;      ; INITIALIZE THE ERRORLOGER
.;
        ELI /LOG
.;      ;
.;      ; INITIALIZE DCL
.;      ;
        CLI /INIT=DCL/TASK=...DCL
.;      ;
.;      ;
.;      ; INSTALL RMS LIBRARIES  AND UTILITIES
.;      ;
.;      ; NOTE - These examples use the top of the GEN partition to create an
.;      ; appropriate sized partition.  You must replace "base" in each of the
.;      ; examples below with the octal address of the base of the new
.;      ; partition.
.;      ;
.;      ; If you wish to use the full-function RMS resident library,
.;      ; use the following commands:
.;      ;
.;              SET /TOP=GEN:-1300
.;              SET /MAIN=RMSRES:36531:1300:COM
.;              INS LB:[1,1]RMSRES.TSK
.;      ;
.;      ; If you wish to use the subset RMS resident library, use the
.;      ; following commands:
.;
.;              SET /TOP=GEN:-600
.;              SET /MAIN=RMSRES:base:600:COM
.;              INS LB:[1,1]RMSRESSUB.TSK
.;      ;
.;      ; If you wish to use the RMSDAP resident library to access RMS files
.;      ;on remote nodes, create a partition and install the following library:
.;
.;              SET /TOP=GEN:-500
.;              SET /MAIN=DAPRES:base:500:COM
.;              INS LB:[1,1]DAPRES.TSK
.;      ;
.;      ;The following RMS utilities may be individually installed as needed:
.;      ;
.;      INS LB:[1,54]RMSDES.TSK
.;      INS LB:[1,54]RMSDEF.TSK
.;      INS LB:[1,54]RMSBCK.TSK
.;      INS LB:[1,54]RMSRST.TSK
.;      INS LB:[1,54]RMSCNV.TSK
.;      INS LB:[1,54]RMSIFL.TSK
.;      INS LB:[1,54]RMSDSP.TSK

        INS LB:[1,54]PIP.TSK
        INS LB:[1,54]EDT.TSK
        INS LB:[1,54]TKB.TSK
        SET /VT100=TT1:
        SET /VT100=TT2:
        SET /VT100=TT3:
        SET /VT100=TT4:
        SET /VT100=TT5:
        SET /VT100=TT6:
        SET /VT100=TT7:
        SET /VT100=TT10:

As you can see, the changes I made were:

  • Enabling the printer spooled.
  • Enablig the error logger.
  • Installing and enabling the DCL command processor.
  • Installing some images I guess I would use: the EDT editor, the PIP utility and the task builder.
  • Configuring the DZ11 lines for a VT100 emulated terminal.

 And that's all! At this moment you should take another backup of your system disk image, and then you could begin installing layered products. If you search the internet, remember most of the tapes in trailing-edge.com are corruptes (not everyone, but most of them). I've found that BP2 2.5 is usable. With a little bit of luck you can find other kits in other sites (to be honest, I can't even remember where did I get mine...). I plan to make more posts about the PDP11 and RSX, and I'll try to publish the installation logs for the layereds I've been able to get. But this will be another post...

9 comments:

  1. I followed your guide, now I have an RSX-11M-system - thank you! Myself being a total novice (and coming from a Linux- & BSD-world), I find this fascinating. But don't ask me how it was to figure out how to "edit" stuff here... It is VERY different from anything I know, though admittedly, MUCH more user-friendly than old Unix.

    It would be great if you could post how to install Fortran or Basic Plus. I seriously tried all weekend long, and failed, and failed, super-frustratingly... - I see images are available here:

    ftp://ftp.trailing-edge.com/pub/rsxdists

    - But the Fortran installation PDF that I picked up somewhere does not describe the details (and as I said - I am a noob; it took me hours to figure out the mount and assign things), the Basic Plus installation manual did not fit the description, the BP 2.7 tape was mentioned somewhere to be defective (and hence something called FLX failed)... HELP! :)

    It would be great to see you post some installation walkthrough of either Fortran or Basic...

    Regards,


    Aeneas

    ReplyDelete
    Replies
    1. I'm happy you are being successful tinkering with RSX. If you come from a Unix background, it will for sure seem somehow "alien" to you :). You should aim to learn to use the EDT editor, and to use it you will need a full-fledged VT102 or VT220 emulation. Specifically, your emulation must support the use of the row of keys just above the numeric keypad, which correspond to PF1-PF4 in a real VT keyboard; most of "keyboard commands" in EDT are based on the numeric keypad, or a combination of PF1 + numeric keyboard (not pressed at the same time, first PF1 and then the numeric key). For instance, KP6 (numeric keypad 6) is "cut" and PF1-KP6 is "paste". The built in help (accessible using PF2) contains a nice keypad diagram.

      I personally use ZOC (http://www.emtec.com/zoc/) to emulate a VT200/VT102. It works in Windows, MacOS (and OS/2... I started using it in that environment), but works flawlesly under linux using wine. It's shareware, but you can get a demo version to see if its is worth to pay 80$ for it.

      As for the layered products, most of the files you will find in pdp11.trailing-edge.com are corrupted and can't be used. The only two files I have been able to instal are basic_plus_2_rsx_v2_5.zip and f77_v5_3.zip. I plan to do a walkthru of the install when I got the time to do it properly (ie, installing them in a clean RSX install).

      Delete
    2. Thank you very much for your tips with regard to the terminal and the file names! And you guess correctly, I am running SIMH on Linux...

      So far, I figured out how to use EDT in a very primitive way - here it is, for other newbies like me who use your excellent guide:

      INS $EDT
      EDT STARTUP.CMD
      [ENTER-key] -- scrolls you down one line
      linenumber -- e.g. 32 -- brings you to line 32

      DELETE linenumber -- deletes it

      REPLACE [ENTER] -- replace a line

      INSERT [ENTER] -- insert a line - actually, you may type a text block
      and end it with Ctrl-Z

      EXIT /SAVE -- saves the current file

      QUIT -- terminate without saving

      (... Even THAT is actually quite "user friendly" compared to "ed" in Unix...)

      It would be indeed wonderful if you could point out how you installed
      particularly BASIC! (Such pre-configured disks could be given even to friends... many people know BASIC, after all.) I am permanently running into problems - either FLX is flaking out (even though it DOES copy over the installation routine), or I cannot INS ALL-THE-NEEDED-STUFF which MCR seems to require
      and installation terminates, and I am not sure how to mount the tape (/FOREIGN seems to be necessary, but anything else like /DENSITY, too?).

      Delete
    3. /FOREIGN is enough... in a simulated machine, with simulated tapes. Anyway, if FLX has been able to copy the files to the disk, the MOUNT was OK.

      Could you post the error messages you get? I remember I had some troubles when I did the install. Basically, we are are not installing the "supported" combination of OS and layered versions. That is kinda OK for a hobbyist system, but of course it is not a "clean" process.

      Delete
    4. Hello again, and thank you so much for your support! I am sorry for the late reply... I just have been a bit busy marrying. :)

      I found out that FLX is not any more complaining if I say in simh "set
      ts0 format=tpc" before saying "attach ts0 basic.tpc".

      On to my other problem: There is apparently no STK task. Some
      gentleman named "Mark" wrote apparently somewhere, "I found I could
      use the /SB switch on TKB to build the BP2IC2.TSK without error." --
      Unfortunately I have no clue at all what that means, in particular, I
      do not understand how to give any "switch" to TKB to make it look as
      if STK has been loaded.

      I figured out, however, that the .CMD-files are something like shell
      scripts, readable text anyway. So I tried to "cheat":

      $edit bp2rsx.cmd

      *84
      84 .IFNINS STK INS $STK/TASK=...STK
      *delete 84
      1 line deleted
      85 .IFINS STK .GOTO CHKPAT
      *insert
      .IFNINS STK .GOTO CHKPAT
      *exit /save


      With this, I CAN skip forward to being asked by bp2rsx.cmd about a
      default installation (to which I reply YES), but when the "action"
      should start I now get:

      The BP2BLD dialogue is complete.
      The installation will take about 1 hour to complete.

      MCR -- Task not in system
      ?Can't find file or account at line 1

      MAC -- Open failure on input file
      SY:THREAD=THREAD
      LBR -- *FATAL*-Invalid module format in THREAD.OBJ;1

      MCR -- Task not in system
      PIP -- LB:[1,54]BP2RUN.TSK/PR/WO:R
      PIP -- No such file(s)
      LB:[1,54]BP2RUN.TSK
      REM -- Task not in system
      INS -- File not found
      >
      The BASIC-PLUS-2 installation is complete.
      MCR -- Task not in system
      TKB -- *FATAL*-Indirect file open failure

      @SY:BP2T0


      INS -- File not found
      >
      MCR -- Task not in system
      TKB -- *FATAL*-Indirect file open failure

      @SY:BP2T1


      INS -- File not found
      >
      PIP -- SY:THREAD.MAC;0/DE
      PIP -- No such file(s)
      SY:[1,23]THREAD.MAC;0
      PIP -- LB:[1,54]BP2RUN.MAP;0/DE
      PIP -- No such file(s)
      LB:[1,54]BP2RUN.MAP;0
      PIP -- SY:BP2T0.B2S;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T0.B2S;0
      PIP -- SY:BP2T0.CMD;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T0.CMD;0
      PIP -- SY:BP2T0.ODL;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T0.ODL;0
      PIP -- SY:BP2T0.OBJ;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T0.OBJ;0
      PIP -- SY:BP2T0.TSK;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T0.TSK;0
      PIP -- SY:BP2T1.B2S;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T1.B2S;0
      PIP -- SY:BP2T1.CMD;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T1.CMD;0
      PIP -- SY:BP2T1.ODL;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T1.ODL;0
      PIP -- SY:BP2T1.OBJ;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T1.OBJ;0
      PIP -- SY:BP2T1.TSK;0/DE
      PIP -- No such file(s)
      SY:[1,23]BP2T1.TSK;0
      DMO -- TT0: dismounted from MS0: *** Final dismount initiated ***
      16:49:21 *** MS0: -- Dismount complete

      >@
      >PIP
      PIP>^Z
      >



      No clue what to do now... Any pointers will be greatly appreciated!

      Regards,


      Aeneas

      Delete
  2. I just found an image with FORTRAN...

    ftp://www.trailing-edge.com/pub/rsx_dists/rsx11mpbl87.dsk.bz2

    Here they apparently say how to use it:

    http://blog.gmane.org/gmane.comp.emulators.simh/month=20110801

    And I am not sure whether this has anything to do with it, but the name "rsx11mpbl87" sounds familiar:

    http://pdp-11.org.ru/~form/files/sysgen46.html

    This seems to be a good discussion on the topic:

    http://www.freag.net/en/t/2t1cd/rsx11_tape_file/1

    Yesterday I actually followed this, but I do not get FORTRAN to run for some reason, though otherwise it worked nicely (apparently, there is no DCL, only MCR, in this kind of system):

    http://home.earthlink.net/~n1be/pdp11/PDP11.html

    Ah, and some guy apparently is running a web server on RSX:

    http://madame.update.uu.se/

    I'd still be grateful if you post some FORTRAN and BASIC installation post, but for the time being, I think that serves my needs. Anyway, thank you for the installation walkthrough and good luck with your RSX-endeavours!

    Regards,


    Aeneas

    ReplyDelete
  3. Hello,

    rsx11mpbl87 is RSX11-MPLUS an evolution of RSX11-M. By the way you can download a fortran77 installation from ftp://ftp.trailing-edge.com/pub/rsxdists/
    the filename is f77_v5_3.zip (unfortunately the v5.4 seems broken).
    This tape is a BRU tape: you can see the backup set issuing BRU/REW/DIR MS0: (provided that you have a TS tape, otherwise you have to find the tape device name for you installation).
    The installation method is this:

    1) extract the content of all backup sets in a temp device (for example a DL0 disk - I prefer in this way so I can have a backup other than tape) with this command:

    BRU/REW/NOI/UFD/BAC: MS0: DL0:

    2) launch installation command procedure in this way:

    SET /UIC=[1,54]
    @DL0:[246,246]INSTAL

    3) reply to all the questions, and voilĂ  the F77 is installed and tested.

    ReplyDelete
    Replies
    1. ... oops sorry it seems web page modified the extract command. the right one is :

      BRU/REW/NOI/UFD/BAC:XXXXX MS0: DL0:

      where XXXXX is backup set name you can display with the previous BRU command I wrote.

      Fausto

      Delete
    2. Thanks a lot... By the way, the same kit works under RSX-11M (no "plus"). There is also a BASIC kit that can be installed, but it does not work out of the box, since it is for a older version, but with a little bit of effort it can be installed.

      Unfortunately, I have not been able to get any COBOL81 compiler working. The ones you can find are corrupted. :(

      Delete