Building the MVS Starter System

 

Prerequisites

To recap the prior step, in order to build the MVS starter system, you should already have downloaded/installed on your computer -

The stand alone utility programs that are executed to build the MVS starter system will not complete properly under older versions of the Hercules' executables.  Most communications I have received report failure of the utilities to complete occur when using version 3.07.  The behavior reported is that after responding to the input prompt with "input=1442,..." the system will run indefinitely without reaching normal end of job; i.e. the instruction counter will advance, but the next expected output message from the utility program will never be displayed.  If you encounter this behavior, you are probably using a version of Hercules that is earlier than 3.11.  The corrective action you should follow is to upgrade to a version of Hercules at level 3.11 or greater.

Although not mandatory, this is the structure into which I have MVS related files and these instructions will show commands, output, etc. using this relative structure as a reference point:

The starter system tapes archive (item #2 in the prerequisites list above) contains three files:

md5.txt  text file containing the md5 sums for the two tape images
vs2spool.het stand-alone programs and volume image for the SPOOL0 3330 DASD volume
vs2start.het stand-alone programs and volume image for the START1 3330 DASD volume

The two tape image files above should be located in the tape directory.

The installmvs archive (item #3 in the prerequisites list above) contains six files that are required for this step:

create.dasd.bat or create.dasd.sh extracted to mvs directory Windows bat script that utilizes the dasdinit utility to create empty DASD volumes

bash script that utilitzes the dasdinit utility to create empty DASD volumes

ibcdmprs.cnf extracted to conf directory Hercules configuration file for executing stand-alone programs
inspool0.sajob extracted to sajobs directory Directives to the stand-alone DASDI program for the SPOOL0 volume
instart1.sajob extracted to sajobs directory Directives to the stand-alone DASDI program for the START1 volume
rsspool0.sajob extracted to sajobs directory Directives to the stand-alone DUMP/RESTORE program for the SPOOL0 volume
rsstart1.sajob extracted to sajobs directory Directives to the stand-alone DUMP/RESTORE program for the START1 volume

 

The clock time required to complete the steps below should be approximately 20 minutes.  The time required may be longer if you have not already gathered all required files before beginning and have them restored to the appropriate locations.

 

Create DASD Volumes

The starter system is a quite comprehensive, but compact, configuration of MVS 3.7 and will reside on two 3330 DASD volumes.  I am writing this on a Windows 7 system, so the supplied create.dasd.bat is a Windows shell script that will create the two volumes required for this step.  The script also includes code to produce additional volumes for subsequent steps in this installation tutorial.  In this step, you will:

  • create a dasd subdirectory if it does not already exist

  • change to that subdirectory

  • if the two DASD volumes exist, delete them

  • utilize the dasdinit utility (included with Hercules) to create the two volumes

On a Windows system, open a Command Prompt window and type the command: 

create.dasd starter

and press Enter.  The script will execute, creating the two DASD images:  The console output of the script on my system is shown below:

M:\hercules\mvs>create.dasd starter
This script creates empty DASD volumes for building the MVS 3.7 starter system.
Creating dasd subdirectory.
Changing to dasd subdirectory.
Creating START1 3330 volume.
HHCDU044I Creating 3330 volume 111111: 411 cyls, 19 trks/cyl, 13312 bytes/track
HHCDU041I 411 cylinders successfully written to file start1.3330
HHCDI001I DASD initialization successfully completed.
Creating SPOOL0 3330 volume.
HHCDU044I Creating 3330 volume 111111: 411 cyls, 19 trks/cyl, 13312 bytes/track
HHCDU041I 411 cylinders successfully written to file spool0.3330
HHCDI001I DASD initialization successfully completed.
Returning to original subdirectory.
Script completed successfully!

M:\hercules\mvs>

The DASD volumes that are created are simply raw emulated volumes; they have not been initialized for use by MVS and contain no VTOC or control structures.  They will be initialized in the next step.

On Linux systems:  I have also provided a bash version of this script (create.dasd.sh); on Linux systems, execute this script with the single argument 'starter' to create the two DASD images.

Alternately you may also issue the commands from a console prompt after changing to the dasd directory:

dasdinit -a start1.3330 3330 111111
dasdinit -a spool0.3330 3330 111111

My thoughts on compressed DASD - Quite a few releases back, Hercules gained the ability to utilize compressed MVS DASD images.  This allows even the very large 3390 type DASD to occupy a reasonably small space in the host operating system file.  Data is automatically uncompressed during MVS read operations and compressed during MVS write operations.  The compression system also has the ability to make the base file read only with any updates to the data stored in shadow files.  A number of people regularly use compressed DASD with absolutely no problems, and there has been improvement in the compression algorithms and features available for use with compressed DASD.  I have chosen to utilize non-compressed DASD, both because I have the hard drive space available and because there is a tradeoff in performance to achieve the reduced host file system space.

"... If you use compressed dasd, particularly using bzip2, then the cpu overhead of all the compression/decompression is noticeable.  Interestingly, in some circumstances it has been noted that the cpu overhead offsets the hard drive latency in a single processor machine.  That is, by transferring less data to/from the hard drive but spending cycles doing compression/decompression results in a faster elapsed time ..." posted by Greg Smith, 5 July 2003

If you wish to utilize compressed DASD, there is a utility provided with Hercules - dasdcopy - that may be used to compress (or decompress) DASD volumes.

 

Initialize DASD Volumes and Restore Starter System

The two tape images (vsstart.het and vsspool.het) contain a dumped copy of the two DASD volumes required to run the MVS starter system.  Also contained on each tape, in front of the dumped volume image, are two stand-alone programs; the first is a disk initialization program (DASDI, version 7.80) and the second is a disk dump restore program (DUMP/RESTORE, version 7.83).  We use Hercules to load the stand-alone programs from the tape to initialize both of the DASD volumes created above and then restore the dumped volume image from the tape to the initialized DASD volume.

The Hercules configuration file ibcdmprs.cnf, located in the conf directory, defines the environment in which the initialization/restoration will occur:

Open a console window (Linux) or a Command Prompt window (Windows) and start hercules by typing the command hercules -f conf/ibcdmprs.cnf and pressing Enter:

Hercules will begin execution, load the configuration file, and display the following messages:

Hercules is waiting for a telnet client session to connect to the emulated device specified at address x'009' in the configuration file.  The device is specified as a 1052 console, so you must use a telnet client on your machine to connect.  

          * * * * * * * Windows/2000 * * * * * * *
There have been several discussions on the Hercules' list about the inability of the Windows/2000 (and later) telnet client to successfully connect with Hercules.  Three solutions that I am aware of:

If you have access (legally and physically) to a Windows/NT 4.0 system, the telnet client included may be copied onto Windows/2000 (and later) and will work fine.

Hyperterminal, included with Windows/2000 will work.  It may expose your computer to a security risk, so if you use it, you should visit Microsoft's web site to learn more and possibly download the patch to fix Hyperterminal.

Download Tera Term from my site @ http://www.jaymoseley.com/hercules/download/archives/termp23.zip  (943 kB) [MD5: CDE2C5A58662002C5CA79B7BC5C198B7] - a free telnet client that will work fine with Hercules.  On the Connection settings window, change Host to localhost and port# to 3270; on the Settings->Terminal window, change Transmit to CR+LF and check the local echo box.

Start your telnet client program.  In the connection dialog for your client, specify the address as 'localhost' and the port number as 3270.  Make certain that your telnet client settings include 'local echo' so that when you type in the client window, what you type will also be displayed in the window.  When connected, the telnet window will display:

In the console window where Hercules was started, an additional line will be added to reiterate that the console has been connected to device 0:0009:

On the command line in the console window where Hercules was started, type the command ipl 280 and press Enter.  This will instruct Hercules to load and execute the stand-alone DASD initialization program from the beginning of the emulated tape image at address x'280':

When the program has loaded, it will execute until it requires input from the emulated 1052 console at address x'009'.  At that time, the program will halt and the last four characters of the Program Status Word, displayed at the bottom of the Hercules window, will be 'FFFF':

In the telnet client window, press the Enter key:

The stand-alone program, DASDI, is prompting for the device where it may read its input from.  All of the commands required to direct the stand-alone programs we will use have been placed in 'jobs' that are defined at emulated reader devices, so all we need to do is instruct the program to read the appropriate 'job' to complete execution of the program.  In the telnet client window, type input=1442,00c and press Enter.  The job does not take long to execute, so in the telnet window displayed below, following the input command, you also see the output produced by the program:

In the console window where Hercules is executing, there will be some cryptic lines added (which are merely informing you that all the cards have been read from the emulated card reader) and, more significantly, the last four characters of the Program Status Word, displayed at the bottom of the windows, will be '1111', which indicates that the DASDI program has completed initializing the volume where the Starter System will be restored:

At the front of each tape there are two stand-alone programs to be used.  The tape at address x'280' has been left positioned correctly to load and execute the next program, which has the singular purpose to restore the dumped image, which follows the program on the tape, back onto a DASD volume.  On the command line in the console window where Hercules was started, type the command stop and press Enter:

Then type the command ipl 280 and press Enter, to load the next stand-alone program from the tape.  As with the stand alone DASD initialization program, the restore program will load and it will execute until it requires input from the emulated 1052 console at address x'009'.  At that time, the program will halt and the last four characters of the Program Status Word, displayed at the bottom of the window, will be 'FFFF':

In the telnet client window, press the Enter key:

As you can see above, new information continues to be displayed immediately following the last information sent to the telnet client, so the DUMP/RESTORE program is asking for input from the console device immediately below the last message displayed while the previous program was executing.  This time we want the program to read its input from an emulated card reader at a different address, so in the telnet client window, type input=1442,00d and press Enter:

As with the previous program, the job does not take long to execute, so in the telnet window displayed below, following the input command you also see the output produced by the program:

In the console window where Hercules is executing, there will be some cryptic lines added (which are merely informing you that all the cards have been read from the emulated card reader) and, more significantly, the last four characters of the Program Status Word, displayed at the bottom of the windows, will be 'EEEE', which indicates that the DUMP/RESTORE program has completed restoring the Starter System to disk:

That completes the process for the DASD volume START1.  Now the same process must be performed for the SPOOL0 volume.  Everything is set up to continue without necessity of reloading Hercules, except we are now going to use the programs and dumped image on the tape loaded at address x'281' and the jobs loaded in the emulated card readers at addresses x'00e' and x'00f'.  So on the command line in the console window where Hercules was started, type the command stop and press Enter; then type the command ipl 281 and press Enter:

The program has loaded and is waiting for Enter to be pressed in the telnet client window, which is indicated by the last four digits of the Program Status Word displaying 'FFFF' above.  In the telnet client window, press Enter:

The telnet window doesn't 'clear' between jobs, so the output for this job is displayed immediately following the last output from the previous job.  The 'job' containing commands for initializing the SPOOL0 DASD volume are contained in file attached to the emulated card reader at address x'00e', so in the telnet client window, type input=1442,00e and press Enter:

As before, the window shown above displays both the input and the output following the completion of the job, which takes only a few seconds to complete.  On the command line in the console window where Hercules was started, type the command stop and press Enter; then type the command ipl 281 and press Enter:

In the telnet window, press Enter:

The DUMP/RESTORE program prompts for input.  Type input=1442,00f and press Enter:

We have now completed initializing and restoring both DASD volumes which contain the MVS Starter system.  On the command line in the console window where Hercules was started, type the command quit and press Enter:

Messages are displayed as Hercules shuts down:

You may also close the telnet client window.  

The two emulated 3330 DASD volumes in the dasd directory now contain an unmodified MVS starter system.  It would probably be a good idea to make a backup copy of those two files, because in case of a serious error you could then restore to this point without following the procedure we have just completed in order to re-create the volumes.  Although not difficult, it would be frustrating to have to go through it again when a simple backup would prevent it.  You can use any means to store a backup copy of the two files - place them in a WinRar, Zip or tar archive; or burn them onto a CD-rom blank.

And now you may proceed to the next step, creating the MVS 3.8j Distribution Libraries.  So, when you are ready, proceed to the next step - Using SMP4 to Build the Distribution Libraries


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 December 09, 2016.