The distribution system supports 2314 disks, but it won't restore to 2314 disks. This stage addresses that.
Steps:
IPL RES11C. Unload the private libraries on RES11C, and extract the emulator phases and COBOL transients from the core image library on RES11C.
Run the CVT11RES Utility to build a minimal system residence on DOSRES from the core image and relocatable libraries on RES11A and the source statement library included on RES11B
IPL the created 2314 system residence on DOSRES.
Create private source and relocatable module libraries on SPOOL1 for the emulators and Autotest.
Load everything saved in step one into the correct libraries.
Step one unloads library contents onto a single tape in unblocked card image format. The tape will have the following four files, each ended by the DOS/360 end-of-file card ("/* "); a tape mark follows the sixth file. The first three files will be input to MAINT, and the last will be input to the linkage editor.
Tape contents:
ANS COBOL and Disk Sort Merge relocatable modules from the private library on RES11C
Autotest and the 14xx emulators from the private relocatable library on RES11C
14xx emulator source books from the private source book library on RES11C
14xx emulator phases and transients and three ANS COBOL transients from the system core image library on RES11C
The ANS COBOL and Disk Sort Merge modules are unloaded in a separate file because they're supplied by IBM in the private library on RES11C but we wish to store them in the system relocatable library. This saves us a merge and delete step later in the migration process.
We are able to assemble the CVT11RES program while IPL'd from RES11C because we'll access the source statement library on RES11B as if it were a private library by subsetting the sysres extent; a look at the JCL will show how it's done. RES11C has no source statement library, and RES11B's source library has the macros required for successful assembly of CVT11RES.
We IPL'd 132 RES11C because there are core image phases needed from that volume, and one cannot--so far as I know--access a DOS sysres core image library as a private library. (I tried.) We don't need phases from RES11B, and RES11A is the sysres that will be copied to 2314.
At the end of this stage, DOSRES on 190 will be a IPL'able system residence volume with complete core image, relocatable, and source libraries. The private libraries that were restored to distribution volume RES11C will be loaded onto SPOOL1. This DOSRES is still running the IBM-prepared 6K supervisor and is ready for a proper system generation.
The IPL statements for steps MIGRATE01-02 enable access to the system console, a reader, printer, and punch, one tape drive, all three 2311 volumes, and two 2314 volumes: DOSRES and WRK14A. DOSRES will contain the converted sysres, and WRK14A is needed for work file space to assemble the conversion program. This configuration stays within the pre-generated supervisor's limit of ten devices.
The IPL statements for MIGRATE03 enables access to all four 2314 volumes in addition to the console, tape drive, card reader, printer, and card punch. The 2311 drives are not accessed in MIGRATE03, again keeping us within the ten-device limit.
The devinit Hercules commands in the following procedure include the CRLF option. This option should be omitted if you're using Hercules on a Linux system. If you omit CRLF when using a Windows platform, you'll have to fix the resulting file for viewing with Windows notepad using the following command:
type inputfile.txt | find /v "" > outputfile.txt
This job creates a tape containing relocatable modules, source statement books, and selected phases from the RES11C. These phases provide support for ANSI COBOL (FCOBOL), Tape Sort Merge and Disk Sort Merge, and the hardware 1401 emulation features available on the 360/30 and 360/40. Hercules does not support the 14xx hardware emulation features, so one may reasonably question why we're preserving the emulator phases. But we'll do it because incremental disk space is nearly free in Hercules--at least on the scale required for the emulator programs. The emulators--together--are much much smaller than a smartphone app.
The created tape will be a Hercules emulated tape on 280 named migrate-libs.het with the four files described above. This tape will be input to step MIGRATE03.
IPL configuration for this job and the next:
Four unit record devices (console, printer, reader, punch)
All three 2311 disk drives (130:RES11A, 131:RES11B, and 132:RES11C)
Two 2314 volumes (190:DOSRES and 192:WRK14A)
One tape drive: 280, for output from the CSERV, RSERV, and SSERV programs. "maxsize=0" keeps Hercules from complaining about tape length or signaling end-of-volume to DOS/360.
You'll see the following messages that tell you that DOS/360 has been IPL'd (congratulations!):
0I20I DOS IPL COMPLETE
ASSGN SYSRDR,X'00C'
ASSGN SYSIPT,X'00C'
ASSGN SYSPCH,X'00D'
ASSGN SYSLST,X'00E'
1C00A ATTN. 0 0C.
Message 1C00A ATTN. 0 0C. is DOS/360's way of telling you the card reader hopper is empty. To continue, you'll need to put more cards in the reader by using the Hercules DEVINIT command. And when you do put more cards in the reader, you'll need to press Return in the Telnet window to simulate an Enter key for DOS. Continue:
Review the printout to see that modules, books, and phases were punched to tape and the listing looks good. This is a really short printout, and the absence of any cancellation message is sufficient evidence that things worked. You should see a EOJ message on the telnet console without seeing a job canceled message.
This job assembles the CVT11RES conversion utility and executes it. This utility creates a system residence file on a 2314 disk. It then copies IPL records, creates a directory cylinder, and copies the Core Image Library from RES11A, making the new 2314 system residence IPL'able. It then copies a relocatable library from RES11A and a source statement library from RES11B.
Why do we even need this utility? Because CORGZ, the DOS/360 library copy utility, will not copy a system residence to a volume on a different device type. DOS/360 uses different Core Image Library block sizes for 2311 and 2314, and the developers of CORGZ didn't write the code needed to make the conversion. And because they didn't bother with cross-device-type copies of the core image library, we may presume they saw no need to provide the capability for relocatable and source statement libraries.
This job will take some time. At completion, messages listing item and block counts are printed on the console, thus:
CVT11RES 00420 PHASES
CVT11RES 01399 RELO MODULES, 14599 RELO BLOCKS
CVT11RES 00347 SOURCE BOOKS, 23523 SOURCE BLOCKS
CVT11RES NORMAL EOJ
The item and block counts should match the above. If you re-run this step and get either of these messages
4444A OVERLAP ON UNEXPRD FILE RES2314 SYS005 WRK14A
4433A EQUAL FILE ID IN VTOC RES2314 SYS005 WRK14A
you can respond DELETE to continue processing.
Review the printout to see that the utility assembled cleanly and executed. You should see a EOJ message on the telnet console without seeing a job canceled message.
This job creates the private source and relocatable libraries, loads JCL statements needed to access system and private libraries, and loads all of the libraries unloaded from the 2311 system above. Lastly, it links the 44K assembler for use in the sysgen stage.
DOS/360 actually has three different Assembly programs that support the same language specification. One runs in 10K of memory, the second needs 16K, and the third uses 44K. The larger versions run more quickly than the smaller ones. We could link and use any of them. And on a modern laptop, it will be hard to tell the difference in performance. But because this is Hercules, where the minimum mainframe size is 2MB, we'll pick the 44K variant.
IPL configuration for this job:
Four unit record devices (console, printer, reader, punch)
Four 2314 volumes (190:DOSRES, 191: SPOOL1, 192:WRK14A, and 193:WRK14B)
One tape drive: 280, containing the six files of modules, source books, and phases to be loaded onto the 2314 system.
Review the printout to see that the two volumes were initialized and the libraries were created successfully. You should see a EOJ message on the telnet console without seeing a job canceled message.
If you re-run this step and get any of the messages listed below
4444A OVERLAP ON UNEXPRD FILE IJSYSRS SYS002 DOSRES
4444A OVERLAP ON UNEXPRD FILE IJSYSRL SYSRLB SPOOL1
4444A OVERLAP ON UNEXPRD FILE IJSYSSL SYSSLB SPOOL1
4433A EQUAL FILE ID IN VTOC IJSYSRS SYS002 DOSRES
4433A EQUAL FILE ID IN VTOC IJSYSRL SYSRLB SPOOL1
4433A EQUAL FILE ID IN VTOC IJSYSSL SYSSLB SPOOL1
you can respond DELETE to continue processing.
Review the printout to see that the system source, private source, system relocatable, and private relocatable libraries were loaded without error, the emulator phases were linked without error, and the 44k assembler was linked.
DOSRES is now a complete 2314 system residence volume with fully populated core image, relocatable, and source libraries. Private libraries containing ANSI COBOL and emulator source and relocatable modules have been established on SPOOL1. Work files have been defined on WRK14A for use by system generation and by applications running in the BG partition.
The 2311 distribution system volumes can be retired.
Shut down Hercules:
Continue to the SYSGEN stage.