- 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...
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 accountsNow 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
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...