.PAGE SIZE 60,80.LEFT MARGIN 8.RIGHT MARGIN 72 .NO PERIOD .C;RSX-11M V4.0 SYSGEN on a VAX .B2 .C;Frank J. Nagy .C;Fermi National Accelerator Laboratory .C;P. O. Box 500 Mail Stop 306 .C;Batavia, IL 60510 .B2 .PERIOD .FLAG BREAK .BR.P;We have successfully completed a SYSGEN for RSX-11M V4.0 using the MCR CLI under VAX/VMS. For the most part, the instructions in the RSX SYSGEN Manual appropriate to online SYSGEN's are applicable to VAX/VMS. However, some preparatory work must be undertaken to successfully perform the SYSGEN. Some of this preparation is similar to that needed to do a V4.0 SYSGEN under RSX-11M V3.2 and some is unique to the VAX. One note, V2.5 of VMS was used for this SYSGEN, the consequences of VMS V3.0 relative to an RSX-11M V4.0 SYSGEN are not known at this time. .BR.P;Our RSX distribution is the RL01/RL02 distribution kit on 9-|track magnetic tape. The VAX is equipped with RL02 disk drives which will be used for the SYSGEN itself. However, the version of DSC on the VAX (DSC1.EXE) for Structure Level 1 (ODS-1) disks is compatible with the V3.2 DSC and not the V4.0 DSC. Thus the patch described in the RSX-11M V4.0 ^&Release Notes\& must be used to create a new version of DSC for the VAX. The DSC library and build files from an RSX V3.2 distribution kit were patched and task built on the VAX with the compatibility mode SYSLIB.OLB in SYS$LIBRARY which includes some patches to allow to the command line parsing and file parsing routines to handle VAX logical names and named directories. The resulting DSC task image was placed in SYS$SYSTEM as DSC1V4.EXE. This program was then used to copy the distribution kit from tape onto RL02 disks. The following DCL command sequence was used to copy the baseline distribution disk onto tape: .B.I+10;&$ MOUNT/NOWRITE/FOREIGN mt0: .I+10;&$ MOUNT/FOREIGN dl0: .I+10;&$ MCR DSC1V4 dl0:/VE=mt0: .B;This sequence was repeated to copy the RSX V4.0 distribution kit onto five RL02 disks. .BR.P;Before attempting a SYSGEN, several RSX V4 utility tasks were copied from the baseline system disk onto the VAX system disk (i.e., [1,54]MAC.TSK was copied to SYS$SYSTEM:MAC4.TSK). A series of ASN statements (under the MCR CLI) were then placed in the pre-|SYSGEN command procedure: .B.I+10;&$ ASN SYS$SYSTEM:MAC4.TSK=MAC .B;These assignment statements cause the overlays for the tasks to be loaded much faster as the task images on the VAX RM80 disks are used rather than those on the RL02 baseline disk. A listing of the pre-|SYSGEN command procedure (RSXSYSGEN.CMD) is included with this note. .BR.P;Our initial attempts to perform the RSX V4.0 SYSGEN ran into only one problem. This problem is due to an error in the VAX MCR will performs the _.EXIT indirect command as if it were a _.STOP and exits ^&all\& command procedure levels. Note that this was under VMS V2.5; this error may have fixed in VMS V3.0. Attached to this note is a listing of the SLP correction file to replace the _.EXIT commands in SYSGEN3.CMD with the following two line sequence: .B.I+10;_.IF NE 5 _.EXIT 1 .B.I+10;EXIT 1 .B;which will use _.EXIT if not VAX/VMS and the EXIT command if on a VAX. In addition to the corrections to SYSGEN3.CMD, similar corrections must be made to ^&all\& the tttBLD.BLD files in [1,20] on the EXCPRV and RLUTIL disks. These command procedures to construct the _.CMD and _.ODL files for the privileged and non-|privileged tasks use the .EXIT directives in (usually) two places as ".EXIT#1" and ".EXIT#4". The same solution applied to the SYSGEN3.CMD file (see above) can be applied to the _.BLD files. .BR.P;Before the RSX SYSGEN can begin, the VMS system parameter (CLISYMTBL) controlling the size (in pages) of each process's CLI symbol table must be modified. The normal setting for CLISYMTBL is 20; a value of 40 was used for doing the RSX SYSGEN. The parameter is modified by logging in as a privileged user and running the VMS SYSGEN program. This operation requires the CMKRNL privilege. The commands used to modify CLISYMTBL are thus: .B.I+10;&$ RUN SYS$SYSTEM:SYSGEN .I+10;^&SYSGEN>\&USE ACTIVE .I+10;^&SYSGEN>\&SET CLISYMTBL 40 .I+10;^&SYSGEN>\&WRITE ACTIVE .I+10;^&SYSGEN>\&EXIT .B;One must then logout since to do the RSX SYSGEN you must have MCR as your Command Line Interpreter. In addition, the CLISYMTBL parameter only takes effect when a process is created (i.e., login time). .BR.P;To actually do the SYSGEN, login again using the "/CLI=MCR" qualifier on the user name. This will establish MCR as the default command line interpreter (CLI) allowing the processing of RSX indirect command files. The RSX V4.0 baseline system is mounted, the UIC is set to [200,200] and the first SYSGEN command file is executed: .B.I+10;_> MOU/SHARE dl0:RSXM32 .BR.I+10;_> SET /UIC=[200,200] .BR.I+10;_> @SYSGEN .B;All phases (I, II, and III) of SYSGEN are then performed as they would online to an RSX system. The RSX Autoconfigure program will ^¬\& be run as is to be expected. The final step of booting and saving the newly SYSGEN'ed system must be performed on the target PDP-11 system as must the test run of UETP used to checkout the newly created system. .BR.P;One note of caution, since our PDP-11's do not include any of the K-|series peripherals, we have never done an RSX SYSGEN with those features. Thus we do not know if those portions of the RSX SYSGEN will be performed correctly under VAX/VMS. .PAGE.TAB STOPS 9,17,25,33,41,49,57,65,73 .C;Listing of file RSXSYSGEN.CMD .B .LITERAL .; .; RSXSYSGEN.CMD .; .; Used to make the logical name assignments to do an RSX SYSGEN .; on the VAX under VMS. From the VAX-11/RSX-11M USER''S GUIDE .; .; Modification History: .; .; 01-Jul-81 FJN Make sure MAC used from SYS$SYSTEM: .; 03-Jul-81 FJN Straighten out assignments and .; make sure utilities used from SYS$SYSTEM .; 05-Jul-81 FJN Use BIGTKB.TSK on SYS$SYSTEM: .; 25-Jan-82 ADT/KJC Modify message concerning spooled maps .; and the MOU/SHARE command for clarity. .; 08-Jul-82 FJN Ask question re RSX V4.0 SYSGEN to use .; xxx4.TSK utilities on VAX system disk .; instead of the V3.2 forms. .; .ENABLE SUBSTITUTION .; .; Get RSX target device if not entered as a parameter .; .IF P1 EQ "" .ASKS P1 Target device name .; .; Make sure the device name is ended by a colon .; .SETS TEMP P1[:] .IF TEMP NE ":" .SETS P1 P1+":" SHOW SYMBOL P1 .; .; Set default to target device .; SET DEFAULT 'P1' .; .; Assign SY, SY0, LB, and LB0 to target disk .; ASN 'P1'=SY: ASN SY:=SY0: ASN 'P1'=LB: ASN LB:=LB0: .; .; Equates MP0 and MP, also TK0 and TK .; ASN MP:=MP0: ASN TK:=TK0: .; .; If doing RSX V4.0 SYSGEN, use different assignments .; for the utilities. .; .ASK V4 Doing an RSX-11M V4.0 SYSGEN .IFT V4 .GOTO RSX4 .; .; Assigns equivalence names for TKB and VMR .; BIGTKB.TSK was directly copied from an RSX system. .; ASN SYS$SYSTEM:BIGTKB.TSK=TKB ASN SYS$SYSTEM:VMR=VMR .; .; Make sure utilities used from SYS$SYSTEM: .; ASN SYS$SYSTEM:MAC=MAC ASN SYS$SYSTEM:EDT=EDT ASN SYS$SYSTEM:LBR=LBR ASN SYS$SYSTEM:PIP=PIP .; .; Set process privileges needed to do a SYSGEN .; SET PROCESS/PRIVILEGES=(SYSPRV,LOG_IO,CMKRNL) ; ; Note that the baseline system TKB is used. The maps ; cannot be sent to a non-RSX device or to magtape. They ; may be put on the target disk ('P1'). It must be mounted ; SHARE'd to allow the maps to be spooled to the printer: ; ; > MOU/SHARE 'P1'RSXM26 ; > SET /UIC=[200,200] ; > @SYSGEN ; EXIT .; .; What follows is specific for V4.0 gens .; .RSX4: .; .; Assigns equivalence names for utilities kept on VAX .; system disk (to allow speedier overlays). Note that .; these were copied/built from RSX baseline system or .; RSX system libraries and cannot reference VAX/VMS device .; and directory names. .; ASN SYS$SYSTEM:TKB4.TSK=TKB ASN SYS$SYSTEM:VMR4.TSK=VMR ASN SYS$SYSTEM:MAC4.TSK=MAC ASN SYS$SYSTEM:LBR4.TSK=LBR ASN SYS$SYSTEM:PIP4.TSK=PIP .; .; Use EDT from VAX/VMS system disk (native mode) .; ASN SYS$SYSTEM:EDT=EDT .; .; Set process privileges needed to do a SYSGEN .; SET PROCESS/PRIVILEGES=(SYSPRV,LOG_IO,CMKRNL) ; ; Note that the baseline system MAC and TKB are used. ; The listings and maps cannot be sent to a non-RSX ; device or to magtape. The maps may be put on the ; target disk ('P1'). The assembly listings may be ; placed on a scratch disk (RL01/RL02). Each disk ; must be mounted SHARE'd to allow the printouts to ; be spooled to the printer: ; ; > MOU/SHARE DL2:LISTINGS ; > MOU/SHARE 'P1'RSXM32 ; > SET /UIC=[200,200] ; > @SYSGEN ; EXIT .END LITERAL .PAGE .C;Listing of SYSGEN3.CMD corrections file .B .LITERAL SYSGEN3.CMD;2/-AU=SYSGEN3.CMD;1 -23 .; Modified: .; .; 04-Jul-82 Frank J. Nagy Fermilab Accelerator/Controls .; Use EXIT instead of .EXIT for VMS V2.5 .; -818,818 .; .; For VAX/VMS V2.5 use EXIT rather than .EXIT (as .EXIT .; incorrectly behaves like .STOP and exits all command procedures!). .; .IF NE 5 .EXIT 1 EXIT 1 -822,822 / .END LITERAL