Modifying and Rebuilding CP under VM/SP ======================================= On occasion, it may be necessary to rebuild the hypervisor Control Program (CP). I tend to find this is most often required when adding new hardware, or modifying the existing hardware configuration. Another common cause of CP rebuilds would be eg. to apply updates and fixes. Luckily (or maybe not), IBM stopped supporting VM/SP release 5 in June 1992 (it was released in April 1987) so that is no longer a concern. NB. This is a quick-and-dirty procedure/aide-memoir. It does not cover a whole bunch of potentially-relevant stuff regarding the control files, testing the rebuilt CP before writing it to the system residence, and so on. But anyone running VM/SP in production in this day and age probably has bigger problems... Preparation ----------- First thing to do is make sure you've got everything needed to complete the rebuild: - MAINT password - Location of CP build resources - Type of system (uniprocessor, multiprocessor etc.) Can't help you with the first one, but regarding the second, the default locations for mdisks required for CP service are: - 191 work disk - 194 CP text retention - 294 CP PTFs and updates - 295 Local mods - 394 CP source and macros The type of system you have tells you which control file you need to specify during assembly. The IBM-supplied standards are: DMKSP CNTRL - uniprocessor system DMKSPA CNTRL - attached processor support DMKSPM CNTRL - multiprocessor system Logon as MAINT, and access the mdisks as follows: ACC 295 A ACC 294 B/A ACC 194 C/A ACC 394 D/A ACC 191 E (191 can be anything after D. It needs to be the last disk searched for files during the rebuild.) Modifications ------------- Make any modifications required to the assembler source. The main files you'll be concerned with are probably DMKRIO ASSEMBLE - The real I/O configuration DMKSYS ASSEMBLE - The system parameters DMKSNT ASSEMBLE - The saved names table DMKBOX ASSEMBLE - The logon screen definition Make a copy beforehand of any file you intend to modify! Edit your files, rename any current TEXT and TXTLCL corresponding to your updated files (so you can copy them back if there are problems). Build New CP ------------ Assemble each of your updated files in turn: VMFASM file control where 'file' is the name of the modified ASSEMBLE source file (eg. DMKRIO) and where 'control' is the name of the control file that is required for your system (eg. DMKSP) Assuming all goes well, punch your new nucleus ready for installation: CLOSE PUNCH PURGE PUNCH ALL CLOSE READER PURGE READER ALL SPOOL PUNCH * VMFLOAD CPLOAD ctrl (where ctrl is the same control file used for assembly above) This should create the new nucleus in MAINTs reader. IPL it to write the new image to the VMSRES (VIRTUAL DASD 123). IPL 00C Shutdown VM and re-IPL. 'q cplevel' should show you the generation date for CP. The Installation Guide details alternative steps for writing the new nucleus to a different volume for testing, but I kind of feel that if it assembles properly, then it's probably going to IPL OK too, given that we're not really touching anything too sensitive. For those maybe less reckless, or who want to try it... (after the VMFLOAD step above), detach the system residence volume and attach your test system residence in its place: DETACH 123 DEFINE XXX AS 123 where XXX is the test system residence volume or minidisk. Then, do the IPL 00C to write it to your test sysres. Next you can try IPL 123 to IPL the new CP under VM. You should now see the usual VM IPL messages, terminating at the usual "WARM,COLD" etc. prompt. At this point, you'll need to select 'SHUTDOWN', unless your test system residence really does have a copy of your real system on it.