Installing MVS 3.8Performing a System Generation
First, you need to re-IPL the starter system, but this time you will be using a slightly different configuration. The hardware environment defined in the Hercules' configuration file - sysgen.cnf - is:
This hardware configuration utilizes two additional 3350 DASD volumes - MVSRES and PAGE00 - which you have already built and initialized. These two volumes, along with SPOOL1, will be the volumes on which the MVS 3.8 target system will be built. Why have I omitted the SPOOL1 volume from the configuration? During the IPL process, when JES2 is started, it allocates all online DASD volumes in which the volume serial begins with the characters SPOOL for its active spool files. SPOOL1 is to become the spool volume for the target system and you don't want the starter system appropriating it for its own second spool volume. So, later in the upcoming process, you will dynamically attach the volume to the starter system just before the volume is needed to allocate the JES2 datasets on it. Open a console window (Linux) or an MS-DOS Command Prompt window (Windows) and start hercules from the /mvs directory: In another window, start a telnet client and connect to localhost at port 3270. This session will be used by the stand-alone disk initialization program as the console at device address 01f. Remember: You must use a telnet client, not an x3270 client, to connect to the console port for the MVS starter system. IPL from device 150 (the 3330 DASD containing the MVS starter system - dasd/start1.150). In the Hercules command window, type the command:
and press ENTER. In the telnet window, you should see: Again, it is not necessary to rebuild the Link Pack Area, so you should just press ENTER (in the telnet client window). You should then see: This message is from JES2 (Job Entry System 2). The asterisk (*) preceding the message indicates that the system requires a reply and the 00 following the asterisk is the number that needs to be entered to allow the system to associate your reply with the outstanding message. [The reply number that is displayed is incremented by the system each time a response is required, so the number displayed on your console may not always match the number I show in these instructions!] You should type:
and press ENTER. Note that there is a space between the r and the numeral zero in this response. This reply tells JES2 to start operation without waiting for startup commands. You should then see a number of messages, concluding with: at which point the system is ready to process jobs and respond to operator commands. Just as you reserved the SMP001 volume during the previous IPLs for private use, you need to reserve the MVSRES and PAGE00 volumes for private use. On the telnet client window, type these two commands:
and press ENTER after each. Note that there is a space between the m and the numeral one in these commands. After you enter each command, there will be some informational messages displayed as the MOUNT task is started, but none of the messages will require a response. If you wish to verify that the mount completed successfully, open the file to which Hercules' is writing the output from MVS/JES2 PRINTER1 (the 1403 printer attached to address 00e in the Hercules' configuration file) with a text editor or text viewing program. If you are following my directory structure, the file will be found in the /mvs directory and will be named prt00e.txt. Be careful that you do not alter the contents of the file if you open it with an editor. The completion code from each mount task should be 0000 and will appear in the prt00e.txt file as lines identical to: IEF142I MOUNT 14A - STEP WAS EXECUTED - COND CODE 0000 IEF142I MOUNT 14B - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl (search for Job Name mount):
It is not necessary to issue a mount command for the SMP001 volume. The system will, by default, place the SMP001 volume in the public class, so it is certain to have some temporary datasets allocated on it during the following jobs. That is acceptable, as you have already created the SMP datasets on the volume and the temporary datasets will not interfere in any way with the primary use of the volume.
If You Should Need to Restart the System Generation Process
As you proceed with the following instructions to build the target MVS 3.8, if you find that you need to restart, you will first need to restore the DASD volumes MVSRES and PAGE00 to the state they are initially in - empty. First, if you elected to install the 3380 (or 3390) modifications, you must remove those by submitting the jobstream provided for that purpose - r3380.jcl (or r3390.jcl) - which is contained in the mod3380.tgz (or mod3380.tgz) archive. This jobstream relies upon the presence of the user catalog on MVSRES that will be removed by the restart jobstream. There is a jobstream in the installmvs archive - sgnreset.jcl - that will first delete all the VSAM objects that have been created on PAGE00 and MVSRES, then delete the user catalog SYS1.AMASTCAT that was created on MVSRES, and will then scratch all non-VSAM datasets that have been created on MVSRES. If you are certain that you need to restart from this point, and have removed the 3380 (or 3390) modifications (if you applied them), on the Hercules' console, type the command:
and press ENTER to submit the job. The job will only take a few minutes to run. The three steps of this job should complete with condition codes of 0000, 0012, and 0000, respectively. The lines in the output which indicate this are: IEF142I SGNRESET IDCAMS1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SGNRESET IDCAMS2 - STEP WAS EXECUTED - COND CODE 0012 IEF142I SGNRESET IEHPROGM - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
The printed output from an execution of this jobstream may be viewed at SGNRESET SYSOUT. Once this job has completed, you may restart the System Generation process beginning with the step below. Writing IPL Records onto MVSRESAlthough the MVSRES volume has been initialized, in order to IPL an operating system from it, an IPL loader program must be written onto the first track of the volume. The IPL loader program is provided in one of the distribution libraries - SYS1.ASAMPLIB - and the Device Support Facility utility - ICKDSF - that you built at the conclusion of the SMP process is the program that you will use to copy the IPL program onto the MVSRES volume. On the Hercules' console, type the command:
and press ENTER. This job should take less than a minute to run. The completion code from the single step should be 0000. The line in the output which indicates this is: IEF142I WRITEIPL WRITEIPL - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
Catalog and Dataset PreparationPrior to beginning the system generation, you must create a catalog on MVSRES and prepare some work datasets that must be pre-allocated in order to receive object modules during the system generation process. A user catalog - SYS1.AMASTCAT - will be created on MVSRES and cataloged in the master catalog on the starter system. This user catalog will be used to catalog and locate datasets during the system generation process. It will then become the master catalog for the target MVS 3.8 system. During the system generation process, object modules will be created from several jobs and then later will be linked together to build components of the target MVS 3.8 system. The first step of the next job makes sure that there are no existing copies of these work datasets from a prior run, then creates and catalogs empty versions of the datasets ready to receive object modules. Also, a couple of datasets are prepared with dummy versions of LPA and SVC modules that will be used as input during the system generation. The last function of this job is to catalog all of the SMP datasets that were created on SMP001 during the SMP process in the new user catalog. On the Hercules' console, type the command:
and press ENTER. This job should take about three minutes to run. The completion codes from all six steps should be 0000. The lines in the output which indicate this are: IEF142I SYSGEN00 DELETE - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN00 DEFCAT - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN00 ALLOC - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN00 LINK1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN00 LINK2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN00 RECATLG - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
Adding 3380 and 3390 DASD SupportThe original MVS 3.8j does not have support for 3380 DASD, but Jim Morrison has prepared and made available modifications that may be applied to the distribution libraries to provide this support. If you think you would like to add 3380 devices to your MVS 3.8 system, you can find more information, including instructions and the modifications themselves here: Adding 3380 and 3390 DASD Support. Jim subsequently expanded his modifications to add 3390 support. Those modifications are described, and available, at the same link. If you apply the 3380 modifications - m3380.jcl - the job should run for less than two minutes and these are the completion codes that you should expect: IEF142I M3380 IEBCOPY1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 ASMBLR1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 LKED1 - STEP WAS EXECUTED - COND CODE 0004 IEF142I M3380 DUMPT - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 IEBCOPY2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 UPDTE1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 ASMBLR2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 LKED2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 LKED3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 ZAP - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 IEBCOPY3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 IEBCOPY4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 UPDTE2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3380 UPDTE3 - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
If you apply the 3390 modifications - m3390.jcl - the job should run for less than two minutes and these are the completion codes that you should expect: IEF142I M3390 IEBCOPY1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 IEBCOPY2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 ASMBLR1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 LKED1 - STEP WAS EXECUTED - COND CODE 0004 IEF142I M3390 UPDTE1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 ASMBLR2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 ASMBLR3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 LKED2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 LKED3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 ZAP - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 IEBCOPY3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 IEBCOPY4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 UPDTE2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I M3390 UPDTE3 - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
A word about 3390 support - The only version of 3390 DASD that is supported in MVS 3.8j is 3390-1. This will not be an easy limitation to overcome, as the limitation relates to maximum data value that may be stored in a halfword field in a control block. The 3390-1 adds approximately 30% more storage than the 3380, so the increase in storage capacity is negligible. Also, some important system administration utilities included with MVS 3.8j will not function with 3390 DASD. Although this statement is also true of 3380 DASD, there are more compelling reasons to use 3380 DASD.
Stage 1The Stage 1 job - sysgen01.jcl (from either installmvs, mod3380.tgz, or mod3390.tgz) - is processed by the assembler to produce the Stage 2 deck, which really does the work of building the target system. This is the same process used in building MVT 21.8f, only for MVS 3.8 the process is more complex. The contents of the Stage 1 deck I include here was derived from using the sample in the SYS1.PROCLIB of the starter system, the deck in the Bekker Distribution library, and suggestions from several individuals in the Hercules group. I have attempted to include as many comments as possible to facilitate anyone's efforts to customize the configuration for their own needs and desires. You may make changes and submit the Stage 1 job as many times as you need to until you are satisfied that you have an error-free run that meets your needs; each time you submit the deck it will clear the Stage 2 output (if any) from the prior submission. On the Hercules' console, type the command:
and press ENTER. This job should take only a few minutes to run. The completion codes from the two steps should be: IEF142I SYSGEN01 DELETE - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN01 ASMBLR - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
In the diagnostics listing from the assembler, you should expect a couple of MNOTEs. Using the Stage 1 deck modified for 3380 DASD, they occur in sequence numbers 1055 and 1193. (If modified to also include 3390 support, they occur at sequence numbers 1156 and 1310.) These are expected and normal; no corrective action needs to be taken to resolve these. If errors occur during the assembly which must be corrected, the assembly will be terminated prematurely and a Stage 2 deck will not be created in the output file for you to retrieve in the next step. After the errors have been eliminated, the output of this job - the Stage 2 jobstreams - needs to be transferred from the disk output file on SMP001 into punched card images. That is the sole function of the next job. On the Hercules' console, type the command:
and press ENTER. This job should take only a few seconds to run. When it ends, the host OS file assigned to the punch device (pch013.txt in the /mvs directory) will contain the card images produced from the assembly of the Stage 1 deck. Copy the contents of this file into a new file - stage2.jcl - in your /jcl directory. Edit the stage2.jcl file with a text editor you are familiar with. The first two images in the punched deck, and the last image in the deck, are job separator cards and should be deleted. The remainder of the file contains the six jobstreams which generate the MVS 3.8 system, each preceded by a JOB card generated during the Stage 1 processing. The following changes need to be made to the jobs before the may be submitted for processing:
The reasons for these changes are:
Since there has been some confusion
about these instructions to those unfamiliar with Job Control Language, I have
added a "before" and "after" comparison viewable at: Stage 2 Modifications. If you
are unfamiliar with Job Control Language, I strongly recommend that you locate a
good reference/textbook, since a thorough understanding of JCL is required to
successfully utilize MVS. My recommendation would be System/370 Job
Control Language by Gary DeWard Brown, preferably an edition prior to the
fourth, which concentrates far too much on modern facilities and drops
discussion of some of the features which are required on MVS 3.8j. You can
find this and other JCL books at larger university libraries. You local
library may be able to acquire books for you through WorldCat/Interlibrary
Loan. You might
also check for used copies reasonably priced at ABE
books.
Stage 2Submit the Stage 2 jobstreams to the reader - on the Hercules' console, type the command:
and press ENTER. The jobs will be read in and placed on hold: To release the first job for processing, on the telnet client window enter the command:
and press ENTER. After each job is completed, check the output to ensure that there are no significant errors and the completion codes received are those expected. Then release the next job in sequence - sysgen2, sysgen3, sysgen4, sysgen5, and sysgen6 - using the $a command shown above. Since the output from one or more steps in each job is usually required as input in the succeeding job, it is imperative that only one job be processed at a time, that all steps of each job are run, and that there are no unexpected completion codes. You may notice that the job class on all six jobs is C (CLASS=C on the JOB card statement) and that the jobs are selected for processing by initiator three (INIT 3) on the starter system. This is another means of ensuring that the jobs are run serially (one after the other) as only one initiator on the starter system is set to process jobs in class C. Here are the completion codes I received on the jobs: IEF142I SYSGEN1 LPA1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG5 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG6 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG7 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG8 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG9 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 A SG10 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LPA11 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG12 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG13 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG14 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG15 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG16 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG17 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG18 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG19 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG20 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG21 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG22 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG23 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG24 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG25 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG26 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG27 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG28 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG29 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG30 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG31 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG32 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG33 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG34 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG35 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG36 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG37 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN1 LK SG38 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG39 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN1 LK SG40 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LNK1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 A SG2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 A SG3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 A SG4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 A SG5 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LNK6 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG7 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG8 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN2 LK SG9 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG10 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG11 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG12 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG13 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN2 LK SG14 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG15 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG16 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG17 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG18 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG19 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG20 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG21 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG22 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG23 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG24 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG25 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG26 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG27 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG28 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG29 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG30 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG31 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG32 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG33 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN2 LK SG34 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG35 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG36 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG37 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG38 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG39 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG40 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG41 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG42 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG43 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG44 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN2 LK SG45 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN3 SVC1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN3 SVC2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN3 SVC3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 NUC1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG5 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG6 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG7 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG8 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG9 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG10 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG11 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 A SG12 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 NUC13 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 LK NUC14 - STEP WAS EXECUTED - COND CODE 0004 IEF142I SYSGEN4 LK SG15 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 LK SG16 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 LK SG17 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN4 LK SG18 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 MISC1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 SG2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 SG3 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 A SG4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 A SG5 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 MISC6 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG7 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG8 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG9 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG10 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG11 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG12 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG13 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG14 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG15 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG16 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 LK SG17 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 SG18 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 SG19 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN5 SG20 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN6 LIST1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN6 LIST2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN6 STEPY - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN6 STEPZ1 - STEP WAS EXECUTED - COND CODE 0008 IEF142I SYSGEN6 STEPZ2 - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
With the exception of STEPZ1 in SYSGEN6, all of the 0004 completion codes indicate warning messages. These are expected warnings, which you may notice are specified by the comments in the generated jobstreams. STEPZ1 is attempting to delete a member from a dataset that doesn't exist and therefore receives the 0008 completion code. In the second step of SYSGEN5 you will see a message on the console similar to:
which is issued when SYS1.LOGREC is initialized. This does not indicate an error has occurred. Completion of the set of six jobs takes about 15 minutes on my system.
JES2 GenerationDuring SMP, the elements of JES2 are loaded into libraries, but it is necessary to use the link editor to build the JES2 load modules. Also, the parameters required for JES2 operation need to be set up in SYS1.PARMLIB and a procedure to execute JES2 must be created in SYS1.PROCLIB. The jobstream to link JES2 is included in the Base Program Directory document. Volker Bandke posted a combined jobstream to the group that includes the two link steps for JES2 from this document, and also sets up both the parmlib and proclib members. Over time I have incorporated changes suggested on the group into the options included in the SYS1.PARMLIB member. Tommy Sprinkle has made available the JES2 parameters (and other SYS1.PARMLIB members) he used in a production system. For more information and to download a copy of his parameters, see http://www.tommysprinkle.com/mvs/parmlib.html. On the Hercules' console, type the command:
and press ENTER. This job should take only a few minutes to run. The completion codes from the four steps should be: IEF142I SYSGEN03 JES2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN03 SSSM - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN03 JES2PARM - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN03 JES2PRC - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
Post Gen JobstreamThere are several members of SYS1.PARMLIB that need to be created (or modified) in order to make the target system operate smoothly. An excellent reference text for MVS Systems Programming (in general) and specifically the SYS1.PARMLIB members is MVS Systems Programming by Dave Elder-Vass (view the contents or order a printed copy at: iUniverse.COM). The next jobstream consists of several steps modifying SYS1.PARMLIB. It also allocates:
It deletes a couple of datasets that were created and used during Stage 2 that won't be needed again, and allocates the PAGE datasets on the PAGE00 volume. This job also allocates the JES2 datasets on the SPOOL1 DASD volume, so before submitting the jobstream, you must attach the volume to Hercules and issue the MVS commands to mount it for use. On the Hercules' console, enter the command:
and press ENTER. Hercules should respond:
On the telnet client window, enter the command:
and press ENTER. MVS should respond:
On the telnet client window, enter the command:
and press ENTER. Note that there is a space between the m and the numeral one in this command. After you enter the command, there will be some informational messages displayed as the MOUNT task is started, but none of the messages will require a response. If you wish to verify that the mount completed successfully, the line in the printer output file indicating the completion code for the mount is: IEF142I MOUNT 14C - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl (using the job name mount):
Note that the condcode PERL program will also display the completion codes for the earlier mount messages, for addresses 14a and 14b, but you are interested in the result of the 14c mount at this time. On the Hercules' console, type the command:
and press ENTER. This job should take only a few minutes to run. The completion codes from the ten steps should be: IEF142I SYSGEN04 UPDTE1 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE2 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE4 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 PROGM5 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE6 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE7 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE8 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 UPDTE9 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 IDCAMS10 - STEP WAS EXECUTED - COND CODE 0000 IEF142I SYSGEN04 IEFBR14 - STEP WAS EXECUTED - COND CODE 0000 or, if you use condcode.pl:
Shut Down the Starter SystemYou have completed the System Generation and are ready to shut down the starter system so you can IPL the new MVS 3.8 system. In the telnet client window, type the command:
and press ENTER. This command instructs JES2 to shut down normally. The following messages will be displayed: which are issued by JES2 and MVS as JES2 terminates. In the telnet client window, type the command:
and press ENTER. This command instructs the MVS operating system to shut down normally. The following message will be displayed: IEE334I HALT EOD SUCCESSFUL which indicates the MVS system has reached a point where power down is possible. Note that MVS is still running and additional operator commands might be entered and jobs submitted. But, the object of the "z eod" command is to close all the system files and prepare for an orderly shutdown. Type the command:
in the telnet client window and press ENTER. This command instructs the MVS operating system to write any buffers to the DASD devices. This ensures that when you shut down Hercules any information held in memory by MVS is written to the DASD images. In the Hercules command window, type the command:
and press ENTER. Hercules will close all the files for the emulated mainframe devices and terminate.
Make a Checkpoint BackupThis would be another excellent place to back up the work you have done. Although there are still some changes to be made to your generated MVS 3.8j system, the basic system is completed. If you take a snapshot of this point, you can always start with a basic system and reapply the tailoring modifications if you decide that you want to try something different. The quickest, and simplest, method is to make a copy of the host OS (Linux, Windows/??, etc) files containing your MVS DASD images, using a utility such as tar, zip, xcopy, or WinZip. The DASD images you should copy are:
If you applied the 3380 or 3390 modifications, you should also include SMP001 (dasd\smp001.3350) in your backup. The WORK02 volume has been modified, but any datasets contained on it are temporary and do not need to be preserved.
The next step is to IPL the newly built MVS system for the first time and do some post system generation housekeeping that will make the system more usable. So, when you are ready, proceed to the next step - IPL the Target MVS 3.8 System. I hope that you have found my instructions useful. If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:
This page was last updated on March 24, 2009 . |