16.9.2025

I needed to make some changes to my ZVDT z/OS instance and re-IPL. But guess what happened? The system did not IPL. Now what?

IBM Redbooks to the rescue, in particular ISV IBM zPDT Guide and Reference by Bill Ogden.

How to modify a parmlib member (while the system is down)

As I said before the sytem did not IPL. So I stopped the emulator

# terminal 1
awsstop

and searched through the ISV IBM zPDT Guide and Reference to find out how to fix my master scheduler JCL. And I was lucky, the pdsUtil cli allows for modification (overlay) of CKD records in a PDS. It does not allow you to add or remove PDS membeors or records in an existing memeber. But it allows modification of existing records of an existing PDS member.

# extract the PDS member to a file in current working directory
pdsUtil </path/to/volume/file> SYS1.PARMLIB/MSTJCL00 --extract
# make changes (make sure not to add or remove lines or make the lines shorter or longer)
vi MSTJCL00.txt
# save the modified member back (overlay it with the contents of the modified file)
pdsUtil </path/to/volume/file> SYS1.PARMLIB/MSTJCL00 MSTJCL00.txt --replace

Time to IPL again.

How to IPL a ZVDT

Open two unix terminals and ssh zvdt in both of them.

# terminal 1
awsstop
awsstart --clean /path/to/device-map-file
# Switch to terminal 2
# terminal 2
c3270 900@localhost <3270port>
# Switch to terminal 1

<3270port> is the port specified as 3270port` field in the device-map-file.

# terminal 1
# reactivate console
oprmsg v 'cn(*),activate'; oprmsg v 900,offline;;oprmsg v 900,online; oprmsg v 900,console
# IPL
ipl <respack-device-number> parm <load-parameter>

Now switch to terminal 2 and watch the master console as the system IPLs.