Building the MVS Starter System
To recap the prior step, in order to build the MVS starter system, you should already have downloaded/installed on your computer -
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:
The two tape image files above should be located in the tape directory.
The installmvs archive (item #3 in the prerequisites list above) contains files used for this and all subsequent steps of this set of instructions. Six of the files are required for this step:
The clock time required to complete the steps below should be approximately 10 minutes. All times given here should be taken as estimates. The actual time reported for each job depends greatly upon the hardware and host Operating System (Linux/MAC/Windows) upon which Hercules is executing. 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. For reference, on 22 September 2017 I made some minor changes to the contents of the installmvs archive, so I decided to run through these instructions to verify I had not broken anything. I am running Linux Mint on a fairly recent, quad core machine. Granted I don't have to contemplate the instructions as someone who had not read/followed them previously might, so I am at a distinct advantage; but for me, this step took 2 minutes and 57 seconds.
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:
On a Windows system, open a Command Prompt window and type the command:
and press Enter. The script will execute, creating the two DASD images: The console output of the script on my system is shown below:
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:
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 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.
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:
This page was last updated on September 22, 2017.