Installing MVS 3.8

September 2020 Mini-Revision 

The Major Changes

My intention in writing this summary of changes made to the MVS 3.8j installation instructions/tutorial is to provide the means for someone to determine for themselves if they need to undertake the task of rebuilding an MVS 3.8j system that was built following my revised instructions/tutorial only a few months ago.  For me it is not a major undertaking, but for someone unfamiliar with performing System Generations, or someone who is intimidated at the thought of doing one, it could make a big difference if you know in advance the benefits.  So I will try to summarize, by sections of the process, what has been changed, and why.

In each section of the instructions/tutorial where changes were made, I changed the date in the heading of the page as an immediate indication of the changes.  Since the changes impacted every section, other than restoring the starter system from tape, all of the pages were impacted.  It was not necessary to recapture all of the screen images, although I felt that some screens needed to be recaptured since I know that having the screen captures is a great benefit to anyone who has not experienced this process before.  Since my desktop operating system, Linux Mint, went through a major level upgrade since April, the new screen captures will be obvious because they are slightly larger and the icons are different in the new captures versus the old captures.


Gathering Prerequisite Materials

Of necessity, some of these need to be acquired again.  

The Hercules emulator may or may not have changed since you last installed it.  I continue to use the 3.13 release of the version available from Roger Bowler's site and will continue to do so until there is some highly motivating reason to jump to a different version/source.  

The MVS 3.7 starter system tapes and MVS 3.8j distribution tapes have not changed, so there is no reason to download them again. 

My installation objects, for both Linux/Mac or Windows have changed.

For the jobstreams that run on the starter system for building the distribution libraries and performing the System Generation there have been new jobstreams added and existing jobstreams have been deleted or modified.  As I resolved problems that prevented the inclusion of some of the user mods in the April revision, I determined that a different order of applying PTFs seemed more sensible.  I updated the catalogued procedures for adding TSO User IDs and added a new procedure for deleting TSO User IDs.  I made some changes to system settings that will allow the use of a nine megabyte region, which will improve the outcome of anyone attempting to use GCCMVS to develop programs.  And I added a User Catalog for datasets related to MVS System Operations; this was not something new, but rather something that I had done many years before and somehow in my revisions I had reverted to not having this User Catalog present.

I changed an option in the Windows version of the Hercules configuration files that I hope will help with some of the formatting of the JES2 SYSOUTs.

I have added a REXX script to address a problem some Windows 10 users have reported when installing QUEUE.  

In addition to updating the meta job tables in the condcode.rexx script to match the new versions of the six meta jobs, I have modified the way that the code looks for the line containing the condition code for each step that I believe will overcome problems caused when lines of the JES2 output becomes 'stacked', such that there are two lines of output contained on a logical line in the file.  The updated version of condcode.rexx has been tested by one Windows 10 user who said it eliminated the problem for him.

And I have upgraded RPF to version 1.8.4, which is the current version at the time I am writing this.


Building the Starter System

There have been no changes here, as this is a fixed process dictated by IBM when they designed their system of distributing the starter system.  If you followed my suggestion and made a backup of the two DASD images that are created during this process, you may simply restore these two images from the backup and begin following the process with the next step.


Using SMP4 to Build the Distribution Libraries

The first part of this process, up through shutting down the starter system in order to IPL with the second configuration file has not changed.  

I have changed some of the dataset allocations in SMPJOB00.  The primary reason for these changes was the elimination of secondary extents in the datasets at the conclusion of the System Generation process.  A secondary benefit is that additional modifications to the system may be completed without the possibility of exceeding the allocated space.

I added some PTFs into the product element accept job, SMPJOB03.  Some of these were relocated from where in the previous instructions they had been applied in later jobs, and some of them are newly added to allow the system to take advantage of some of the user modifications that provide some of the functionality of versions of MVS that came after 3.8j.

The original SMPJOB04 (cleaning up after the product element accept) was discarded and its function moved elsewhere in the process.  

The original SMPJOB07 (cleaning up after accepting Jim Morrison's 3375/3380/3390 modifications) was discarded and its function moved elsewhere in the process.

After the removal of the above two jobs, the original jobs SMPJOB05 and SMPJOB06 were renumbered to become SMPJOB04 and SMPJOB05.

The function originally performed by SMPJOB04 and SMPJOB07 were combined into a new SMPJOB06.

The original SMPJOB08 (building ICKDSF for the starter system) is renumbered to become SMPJOB07.

These modifications result in a more logical organization of the functions necessary to build the distribution libraries and does result in some speedup of the process.


Performing a System Generation

I made several changes in the Stage 1 deck - the specifications for the target MVS 3.8j system - which is job SYSGEN01.  The changes include adding a feature to 3277 display devices to match Greg Price's modifications, adding DASD device addresses to esoteric name groups, and modifying some of the system settings to increase maximum available region size to nine megabytes.  Previously the maximum available region size was approximately something over seven megabytes.

In job SYSGEN04 I made changes to SYS1.PARMLIB members to match the system settings changed in the Stage 1 deck.  I increased the allocations for three of the SMP datasets that were allocated on volume MVS000 and moved them to SMP000 to accommodate more system modifications; in order to make space on SMP000, I moved the SMF dump datasets to MVS000.  I created a new SYS1.PARMLIB(IEAPAK00) member to enable a custom list for building the Link Pack area.

In job SYSGEN05 I changed the program that was used in the procedure to add new TSO User IDs to one that is a bit more efficient and easier to code parameters for - it significantly reduced the number of jobsteps in the catalogued procedure and the JCL looks much cleaner and is more understandable.  I also added a procedure to delete TSO User IDs and, optionally, their associated datasets.  I don't know if that functionality makes much sense on a hobbyist system, but it is the sort of process that would be available on a 'real' system and it is nice to have it.

The original job SYSGEN06 applied two user mods (IEFU29 - SMF dataset switch - and IEFACTRT - step reporting).  I moved these in with the other usermods in the meta jobstreams.  I then added a new SYSGEN06 that applies all the PTFs that are required for the user mods to be applied in the following meta jobs.

There was some discussion on the Hercules MVS group regarding the IEFACTRT exit that I have been using since 2003.  It seems that at some point Elapsed Time stopped appearing in the console message and SYSOUT reports generated by the exit.  After several different suggestions of fixes to this exit, none of which altered the reporting, I decided to write a replacement exit.  I based the new version of IEFACTRT on several existing versions of the exit, including one that was written for a later version of MVS than 3.8j.  My new version of IEFACTRT is what I include in the user modifications for installation.  

I also added some user modifications that did not make it into the April revision.  There are now 53 modifications applied to the target system built following my instructions/tutorial.


IPL the Newly Created MVS 3.8

In this section, which is actually the final customization of the newly generated MVS 3.8j, I have updated a couple of jobstreams and provided a new REXX script that may be useful in verifying success loading the QUEUE source for Windows 10 users who experience dropped data from SYSIN datasets.

In job MVS01, where User Catalog and Alias entries are created, I have added a new User Catalog: UCMVS000.  This user catalog is used for System Operation related files, specifically the SMF generation datasets that will reside on volume MVS000.  This is actually not a new concept, but rather is one that I implemented years ago and is still documented on the page for the IEFU29 exit.  I don't know when I reverted to putting these files into the Master Catalog, but moving them back to a specific catalog for 'operations' category datasets makes sense.  It also precludes the necessity of typing the Master Catalog password every time there is a SMF dataset switch because the collection dataset (SYS1.MANX and SYS1.MANY) has filled up.

Job MVS02, adding TSO User IDs, now utilizes the updated TSONUSER procedure.  I expanded the instream documentation for adding a new TSO User ID and made the options for both TSO User IDs that are created identical.  I removed the password from the second user ID (HMVS02), as it isn't really necessary and was mostly to illustrate how to set up a TSO User ID with a password requirement.

I updated the version of Rob Prins' RPF to 1.8.4, which he released only a few days ago.

I have had several reports from people who are running Hercules/MVS under Windows 10 having difficulty submitting jobs through the socket reader.  I have no solution to pass on for that.  A place that this occurs which has a big impact is on the loading of the source for Greg Price's QUEUE into a Partitioned dataset using card images.  I have provided a REXX script that will scan the SYSOUT listings in the emulated printer file looking for the lines that are written at the conclusion of a successful member load and, at the end of the emulated printer file will report on the success/failure of the load of the QUEUE source.  I also heeded a suggestion to change the input DD name for the PDSLOAD to SYSUT1 to avoid a console message that might lead to someone thinking there is an error that needs to be addressed, when it is just for information.

For RFE (REVIEW Front End) I have integrated the REVINIT CLIST into the standard TSO logon procedure, which is also inherited by any new TSO User IDs created with my procedure.  To finish that integration, a new step has been added to the REVIEW3 jobstream to edit Greg Price's supplied REVINIT CLIST, adding a VOLUME parameter so that the RFE profile dataset (REVPROF) will be created on the same volume as the other TSO User ID's (which is PUB000).


I have been using a system built from these instructions daily for more than a month.  I think it is an improvement and makes available some new features provided by various folks by way of user modifications.  Therefore I decided to make this mini-revision of my instructions to make them available to those who follow my instructions to build their MVS 3.8j systems.  I apologize in advance to those who have built a system following my April instructions who now must evaluate whether to build a new system again so soon.  I promise there will be no more great changes for a while.  In fact, since there is very little being done to provide enhancements to MVS 3.8j, at least that I am aware of, this may very well be the last update I need to make to this section of my website.

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:

Return to Site Home Page Frequently Asked Questions

This page was last updated on September 06, 2020.