.PAGE SIZE 58,68.RIGHT MARGIN 68 .RIGHT;RSX11M .RIGHT;SYSGEN .B 3.C;Software Documentation Memo _# 45 .B.C;^&RSX-11M SYSGEN's: What, Where, and How\& .B.C;Frank J. Nagy .FLAGS SUBSTITUTE .B.C;July 7, 1981 .NO FLAGS SUBSTITUTE .B.PERIOD .B.P;This memo discusses the procedures needed to perform an RSX-11M SYSGEN on the VAX. This is based upon actual experience gained over the week prior to July 5. The distribution kit used was the RL01/RL02 kit as found on the four RL02 disks labelled RSXM26, MAPSRC, UNMSRC, and RLUTIL. Since we are only interested in a mapped system, the UNMSRC disk is not used in the SYSGEN. In point of fact, only the RSXM26 and MAPSRC disks are really used. Since our VAX is equipped with dual RL02 disk drives, the SYSGEN was done using RL02 disks only. In the future (distant?), we may be able to SYSGEN an RSX system onto an RL02 from an RM03 disk pack but for now we shall have to use both RL02 disk drives while doing a SYSGEN. .BR.P;The first step is to prepare a copy of the RSXM26 disk onto another RL02 disk. This additional disk will be the one on which the new system is generated. The RSXM26 disk ^&should not be used\& for SYSGEN's except as the input for a copy operation. The disk can be copied on the VAX using DSC1. This is done by loading the disks into the drives and then mounting them with VMS MOUNT commands. The RSXM26 input disk should be loaded with WRITE PROTECT, and can be additionally mounted with the /NOWRITE qualifier. The output disk must also be mounted, but as a foreign volume using the /FOREIGN qualifier. The commands to mount the volumes and run DSC1 are thus (assuming DCL is the current Command Line Interpreter): .B.I+10;&$ MOUNT/NOWRITE dln: RSXM26 .I+10;&$ MOUNT/FOREIGN dlm: .I+10;&$ MCR DSC1 dlm:=dln: .B.P;Before the SYSGEN can begin, a VMS system parameter must be modified. This parameter is CLISYMTBL and governs the size (in pages) of each process' Command Line Interpreter symbol table. The normal setting for CLISYMTBL is 20; a value of 36 is adequate for doing a 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 36 .I+10;^&SYSGEN>\&WRITE ACTIVE .I+10;^&SYSGEN>\&EXIT .B;I then logged out since to do the RSX SYSGEN, you must have MCR as your Command Line Interpreter. Also, I ^&believe\& that the CLISYMTBL parameter only takes effect when a process is created (i.e. login time). .BR.P;To start the RSX SYSGEN, I logged in with the "/CLI=MCR" qualifier after my username. This established MCR as the CLI for this process. At this time our system-wide login command file (SYLOGIN.CMD) was invoked to give a greeting, to set the default file protection, and to assign the logical names TEC and MAK to invoke the TECO editor. My own LOGIN.CMD file was then started. Listings of my LOGIN.CMD and the RSXSYSGEN.CMD files are included with this memo. The RSXSYSGEN file was executed when I responded Y (YES) to the "Is an RSX-11M SYSGEN begin done?" question. The RSXSYSGEN.CMD file was basically copied from the example in the ^&VAX-11/RSX-11M User's Guide\& with the following changes: .LIST0 .B.LE;Logical names LB0 and SY0 are assigned to LB and SY rather than directly to the target disk. .B.LE;Logical name TKB is assigned to SYS$SYSTEM:BIGTKB.TSK. This is the RSX task builder (not the VMS version TKB.EXE in the same area) copied to our RM03 to allow faster overlays. As with DEC's example, this verion will also allow task images to have a default file type of .TSK (rather than .EXE for the VMS TKB). .B.LE;The logical names MAC, EDT, LBR, and PIP are assigned such that invoking one of these utilities will get the version from the VMS system disk. Like the change for TKB (above), this also allows the overlays to be loaded into memory faster. However, using the VMS MAC.EXE allows the assembly listings to be placed on magtape or another disk (DRC2_: in our case). .B.LE;Finally the SYSPRV, LOG__IO, and CMKRNL privileges are set. .END LIST Note that only a privileged user with the SETPRV privilege can use this procedure to do an RSX SYSGEN. Also note that the task builder being used is the RSX BIGTKB which will ^¬\& handle references to magtape or VMS device names (i.e., DRC2:). For this reason, I had the task builder maps placed on the target disk in [1,34]. Since the target system disk is an RL02, there is plenty of space. .BR.P;After the login procedures complete, you must mount the copied RSXM26 disk. If you want the task builder maps spooled and they are to be written to [1,34] on this disk, then the disk must be mounted sharable so that the print symbiont can access the files. The commands to mount the disk and start the RSX SYSGEN are: .B.I+10;&> MOUNT{/SHARE} dln:RSXM26 .I+10;&> SET /UIC=[200,200] .I+10;&> @SYSGEN .B;You are now off and running in SYSGEN Phase I. Phase I should proceed exactly as when doing a SYSGEN online under RSX-11M. Remember to answer NO to the question about running under the standalone RSX system. The Executive Sources are on the MAPSRC disk which I mounted on the other RL02 disk drive. If the MAPSRC disk itself is used, rather than a copy, several files must be cleaned-up after the SYSGEN (more about this later). .BR.P;Phase I should proceed normally, just as if done online under RSX. Before starting Phase II, the MAPSRC disk should be dismounted using the DMO command (but not physically dismounted). This will prevent an error message when MAPSRC is again mounted during Phase II. I had to modify SYSGEN2.CMD in order to have it perform properly. Without my patches, all the privileged task builds would fail because TKB could not find the command files. This was due to method used to swap the assignments of LB and SY just before this point. In the current SYSGEN2.CMD file (Autopatch Level D), this will not work on the VAX and both SY and LB are assigned to the target disk rather than having SY assigned to the MAPSRC disk. I have modified the SYSGEN2.CMD file on the RSXM26 disk using a modified SYSGEN2.COR corrections file on our AUTOPATCHD2 disk (Autopatch Level D patches plus additional patches up through June 1981) so that a dual RL02 SYSGEN can be done on the VAX. The versions of SYSGEN2.CMD on the MAPSRC and UNMSRC disks have not been updated in this way! .BR.P;During Phase II of SYSGEN I attempted to edit the RSXBLD.CMD and SYSVMR.CMD files. I had the EDT editor abort with an access violation which seems to have been caused by having the UIC set to the wrong value. Or at least that appeared to be the cause in one case. In another case, I just tried again to edit (with EDT) RSXBLD.CMD and everything worked properly. I'm not really sure what the problem is here or if there is any but you should be aware of possible difficulties. After Phase II of SYSGEN was over and before continuing with anything else, I built two additional privileged tasks. The first of these was BIGIND.TSK since the version on the disk is built for the standalone distribution system. If you plan to do any SYSGEN's on the resulting RSX system, BIGIND must be re-built. Otherwise BIGIND.TSK should be deleted from the disk. The other task build was for MC2, the MCR catch-all task which implements the additional DCL-like commands. The following commands can be used to build these two tasks (after Phase II, MAPSRC is still mounted): .TAB STOPS 35 .B.I+10;&> SET /UIC=[1,24] .I+10;&> ASN dlm:=IN: !assign to MAPSRC disk .I+10;&> @MC2 !assemble MC2 .I+10;&> ASN dlm:=SY: !assign to MAPSRC disk .I+10;&> ASN dln:=LB: !target disk (already assigned) .I+10;&> ASN dln:=TK: !target disk for task image .I+10;&> TKB @BIGINDBLD !build BIGIND .I+10;&> TKB @MC2BLD !build MC2 .B;The MC2 listing file and the task builder maps are output to MP:[1,34] and MP is left assigned to the device for the privileged task build maps. .BR.P;After these were done, I copied MCR.OLB from [1,24] on the MAPSRC disk to [1,24] on the target system disk. This will be needed for a couple of task builds done with the KITSMISC disk and is useful to have on a development system disk. Note that besides the addition of MC2 to MCR.OLB, the modules SDSOV, SETOV, and SPROV were replaced by different versions as the system I generated uses the full-duplex terminal driver (see below about restoring the MAPSRC disk). .BR.P;Phase III of the RSX SYSGEN can be skipped as the non-privileged task images can be copied from the KITSMISC Software Kits disc and the User Mode Diagnostics are useless with our systems. Instead, if desired, the MAPSRC disk can be dismounted and the RLUTIL disk mounted and the contents of [2,300] be copied from the RLUTIL disk to [2,300] on the target system disk. The UFD [2,300] contains the Installation Verification Program as described in the RSX SYSGEN manual. The remainder of the SYSGEN process is to use the KITSMISC disk to add optional software. This may be done on the VAX using the DCL Command Line Interpreter. The use of KITSMISC will be described in a separate memo. The library PIPUTL.OLB was also copied from the RLUTIL disk to the target system disk (ala MCR.OLB). .BR.P;At this point the SYSGEN was complete as far as the VAX was concerned. Before removing the target system disk from the VAX, I used the KITSMISC disk to add some new SYSLIB routines and some new libraries to [1,1] (including the F4P libraries and object code files). I also copied the non-privileged utility tasks from KITSMISC and generated some additional privileged utility tasks and device drivers (including the PCL drivers). The methods for doing this will be explained in a separate memo covering the KITSMISC disk. .BR.P;The remainder of the SYSGEN activities now move to a PDP-11. I have fixed our RSXM26 disks so that when booted with the hardware bootstrap, the mapped standalone system is started from [1,54]RSX11M.SYS;1. This is needed since Autopatch removed [1,50] as a mapped system was to be generated. The standalone system has also been saved with the BOOT task installed so that the proper version of BOO.TSK is used with the standalone system. After booting the standalone system, I typed control-Z when asked for the date and time and then typed "BOOT [1,54]RSX11M" to boot the system I just created. This system was started in XDT (selected as a SYSGEN option) and a "G" started RSX itself. The system was started with "SAV', but the boot block was not overwritten yet. After this system was rebooted, following the SAVe, I executed the SYSINS.CMD file to install the non-privileged utilities (such as BIGMAC and BIGTKB, etc.). After this executed properly, I saved the system with "SAV#/WB", rewriting the boot block so that a hardware bootstrap operation would boot the new system. At this point then, the [1,54] UFD was purged of all old versions (including the standalone RSX11M.SYS file) and all unneeded device driver files. The final task was then to run the Installation Verification Procedure to check out the system before replacing the old RSX Development System with the new version. .BR.P;There are two different copies of the RSX distribution kit available. One is the virgin distribution kits as restored to disk from the magtapes from DEC. It is recommended that this not be used for a SYSGEN. Instead, the patched distribution kit should be used. The current version of this kit includes the level D Autopatch and additional patches from the Software Dispatch up to June 1981. Similarly, the non-privileged utilities on the KITSMISC disk have been rebuilt using the patched object libraries with the patches up to the June 1981 Dispatch. .BR.P;In addition, our patched distribution kit includes several enhancements to RSX that were gotten from the Fall 1980 DECUS SIG tape. These enhancements are from NASA/Ames and are by Greg Thompson. They seem to work quite well and seem very useful (i.e., they were weeded before going onto the disks). A separate note describing these enhancements is in the works. Copies of the MAPSRC and RLUTIL disks before these enhancements were added are available on magtape as DSC images. .BR.P;Similarly, the Autopatch D and additional patches are kept on the AUTOPATCHD2 disk. Besides the additional patches added, the AUTOPATCH.CMD file was modified to install these patches as part of the Autopatch procedure. The NASA/Ames enhancements are on this disk in the UFD's [1,70], [11,70], and [12,70]. They are ^¬\& installed by the Autopatch procedure but must be installed manually with some help from included command files. The Autopatch of the RSX RL distribution kit was also done on the VAX with some help from a VAX autopatch preparation command file in [200,200] on AUTOPATCHD2. A list of the additional patches and a short note on using the VAXPREP.CMD procedure are given in the text file MOREPATCH.TXT as an adjunct to the AUTOPATCH.DOC file. The text file ENHANCMTS.TXT (also in [200,200]) is a loose description of the NASA/Ames enhancements. .BR.P;Since I used the MAPSRC disk without first making a copy of it, I had to remove some files added by the SYSGEN. In [1,54] the new version of RSX11M.STB was deleted. Note that the ^&NEW\& version was deleted, a purge operation was not done! In [1,24] the SYSPAR.CMD file was deleted and MCR.OLB was replaced. The easiest way to fix MCR.OLB is to create a new version before doing the SYSGEN and then delete the ^&new\& version afterwards. When the full-duplex terminal driver is created, several object modules in MCR.OLB are replaced from the object file MCRTTFD.OBJ (also in [1,24]). After the SYSGEN, the old versions may be restored from MCRTTHD.OBJ so that subsequent SYSGEN's for the half-duplex terminal driver will be correct. The recommended procedure is to create a new MCR.OLB and then delete it after the SYSGEN. This keeps MCR.OLB from growing due to the many LBR replace operations. .TEST PAGE 20.B 5.TAB STOPS 20 ^&Distribution\& .B.NO PERIOD Normal .BR;J. F. Bartlett MS 222 .BR;B. Burch MS 120 .BR;B. Dosen MS 120 .BR;I. Gaines MS 223 .BR;T. Lahey MS 222 .BR;D. Ritchie MS 120 .BR;file .B4 fjn: USR$DISK:[NAGY]SYSGENS.RNO .B attachments