Hercules Hyperion TurnKey5 MVS3.8j with KICKS

This guide is based on the TK5 update 2 by Rob Prince.
The steps describe installation an a RaspberryPi, but should also work on other platforms.

Raspberry Pi

Download the imager from RaspberryPi.com and install the latest 64bit version.
For more information on installing Raspberry Pi Os see the RaspberryPi documentation.

Docker

First uninstall docker remainders:


Then install a fresh Docker


Some docker commands:


Build the TK5 Docker container

Folders for persistent running the container

First you need to create the 'persistent' folders.
(Or use a set you may have saved.)
Put them in the /var/lib/docker/volumes folder.

To build the container go to (create) a folder where you want to create it.
Then Create a new file Dockerfile and paste the following into it.

Then, in the Command Line Interface (Terminal), build the image with:
This may take a wile depending on yout platform.
When the build has finished find the image id whith
Look for tk5mvs and copy the IMAGE ID
Replace the last line in exec with the IMAGE ID of your image.
Next run the image creating a container with name tk5mvs

Where the last line should contain your image id.
You can change the first portnumber in de -p option to use another port for your
3270 terminal session if for instance you got another MVS running.
The shell is placed in Hercules console mode where you get log messages
and where you can enter console commands in the prompt at the bottom of the window.
The container will run MVS-IPL which will take a couple of minutes.
You can then logon to the MVS image using a 3270 terminal emulator.

Add a & to run x3270 detached so you can repeat the command to get several x3270 windows.
There is also a web console available at URL 127.0.0.1:8038

When you have quiesced MVS and stopped the container next time you start
the container with:

Customizing your MVS-TSO environment

First thing to do is changing the passwords of the pre-defined users.
Edit SYS1.SECURE.CNTL(USERS).
Take care to keep the parameters in the right columns and de userids in alphabetical order.

Userids MUST be in alphabetical order!
Apply changes and save.
Then in the console do:
/stop rakf
/start rakf
The log should show that updates are detected.
Next go to SYS2.JCLLIB(ADDUSER)
Adjust the jobcard and add a line for each newly added user.
Watch out all datasets starting with the HLQ for that user will be deleted.
So don't add lines for the pre-defined users.


In SYS1.PROCLIB(IKJACCNT) change
//IKJACCNT EXEC PGM=IKJEFT01
to
//IKJACCNT EXEC PGM=IKJEFT01,DYNAMNBR=64
Create some PDSs.

Install KICKS

Download the KICKS package:

unzip master.zip
In the kicks-master folder unzip kicks-tso-v1r5m0.zip Download the KICKS package to TSO.
In ISPF go to the TSO COMMAND prompt.
In the 3270 terminal go to File Transfer
Local File Name : /kicks-tso-v1r5m0.xmi
Host File Name: KICKS.V1R5M0.XMI
Host filename will be prefixed by the userid (HERC01)
Send to host
Host is TSO
Transfer binary file
Record Format Fixed
Record length 80
Block Size 80
DFT Buffer Size 4096
Space Allocation Units Default

Click Transfer File and wait until transfer is complete.

Now a dataset has been created, prefixed with the current users HLQ:
HERC01.KICKS.V1R5M0.XMI
Unpack the dataset with the following bit of JCL.

This creates a PDS KICKS.V1R5M0.INSTALL which contains several members that also
need to be unpacked/received.
Edit the KICKS.V1R5M0.INSTALL(V1R5M0) member at the bottom of the list.
Change the JOBCARD to

Replacing HERC02 with your userid.
On the PROC statement change HERC01 to KICKS so that all KICKS datasets will have a KICKS HLQ.
Change XMITIN DD DSN to

Submit the job and check the output.

This will create the KICKS datasets.
The KICKS.V1R5M0.INSTALL and HERC01.KICKS.V1R5M0.XMI (or other HLQ) may now
be deleted, they are no longer needed.

Create INTRA, TEMP and test application datasets

Edit SYS1.PROCLIB(IKJACCNT) and set the DYNAMNBR parameter to 64


Save the file, logoff and logon again. Go to the TSO READY prompt. Change your prefix to KICKS
Execute th KFIX clist:
Then press Enter until HLQ KICKS is suggested, then reply yes.
Once READY reset your prefix by
In the KICKS.KICKS.V1R5M0.INSTLIB PDS change all three members. Change the JOBCARD to

And change all PUB002 references to WORK03.

Do the same for KICKS.KICKSSYS.V1R5M0.INSTLIB, members LODINTRA and LODTEMP
and submit all 5 jobs.

Edit KICKS.KICKSSYS.V1R5M0.CLIST(KICKS), line 146 must be deleted.
This one:

Start KICKS for the first time.

Go to the TSO prompt and do:
The example transid is BTC0

KICKS programming

Example programs and mapsets can be found in
KICKS.KICKS.V1R5M0.COB for Cobol programs
KICKS.KICKS.V1R5M0.GCC for Gnu C programs
KICKS.KICKS.V1R5M0.MAPSRC BMS map sopurces

KICKS table assembly jobs are in KICKS.KICKSSYS.V1R5M0.INSTLIB

Some examples

BMS map


Cobol CICS


JCL for assembling a mapset


JCL for compiling Cobol CICS program


PCT entry


PPT entry


Cobol batch example


IDCAMS


Rexx

Save the program in your .EXEC PDS (e.g. SHOWDATE) and execute it with
TSO REXX SHOWDATE

ALGOL