6.0 KiB
My Turnkey-5 Implementation
Several people have asked me how I managed to get a mainframe running on my laptop. This post explains how I did that. Enjoy!
Setting Up The Host Machine
You can run the entire setup from your native workstation, if you want. But that's not what I did. for the sake of portability, compatibility, and stability, I constructed a virtualbox using Debian 12, on which to host the Turnkey package:
- ISO: Debian 12 (64bit)
- CPU(s): 2 (explained in a moment)
- Acceleration: Paging, VT-x/AMD-V, PAE/NX, KVM
- RAM: 1024MB
- Display: Default
- Storage: VDI 60GB
- Network: Bridged
The reason for 2 CPUs is because when we set up the TK5 system, it will include two of its own mainframe cpus, and we want to be able to take advantage of that on the host.
The reason for the BRIDGED adapter, is because we want to make the mainframe accessible from other devices on the local subnet. If everything you do is local to the host machine, then a normal NAT connection will also work.
Go through the normal debian installation process. Don't include a desktop environment, because it won't be needed. Make sure to include the ssh server as part of the installation, and make sure you're able to ssh into the the VM from your host:
gmgauthier@boethius $ ssh sysa Linux tk5-sysa 6.1.0-23-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.99-1 (2024-07-15) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Tue Jan 14 21:45:05 2025 from 192.168.68.103
Installing Turnkey
Next, you'll want to install the base turnkey package to the root account. You'll be working entirely from root now. Use wget to download the zip file from Eric Prince's Turnkey Page, to the root account. Once there, unzip it in place. your director should now have an mvs-tk5.zip
file, and an mvs-tk5
directory:
gmgauthier@tk5-sysa:~$ su root Password: root@tk5-sysa:/# cd /root root@tk5-sysa:~# ls -l total 432068 -rw-r--r-- 1 root root 34 Aug 3 16:35 blkid.txt drwxr-xr-x 3 root root 4096 Aug 3 17:05 go drwxr-xr-x 20 root root 4096 Aug 4 03:19 mvs-tk5 -rw-r--r-- 1 root root 442420923 Jul 29 22:25 mvs-tk5.zip drwxr-xr-x 10 root root 4096 Aug 3 17:05 virtual1403 root@tk5-sysa:~#
cd into the mvs-tk5
directory. This is roughly what you should see:
root@tk5-sysa:~/mvs-tk5# ls -l total 100 drwxr-xr-x 2 root root 4096 Aug 4 13:00 archive drwxr-xr-x 3 root root 4096 Oct 25 17:04 conf drwxr-xr-x 11 root root 4096 Jul 29 22:25 ctca_demo drwxr-xr-x 2 root root 4096 Aug 4 21:12 dasd drwxr-xr-x 2 root root 4096 Jul 29 22:25 doc -rw-r--r-- 1 root root 1104 Aug 1 22:27 herclogo.txt drwxr-xr-x 7 root root 4096 Aug 1 22:22 hercules drwxr-xr-x 2 root root 4096 Aug 4 09:05 jcl drwxr-xr-x 2 root root 4096 Jul 29 22:25 local_conf drwxr-xr-x 2 root root 4096 Aug 4 01:46 local_scripts drwxr-xr-x 2 root root 4096 Jul 29 22:25 log -rwxr-xr-x 1 root root 1221 May 30 2023 mvs -rwxr-xr-x 1 root root 1776 May 30 2023 mvs.bat -rwxr-xr-x 1 root root 2196 May 30 2023 mvs_ipl -rwxr-xr-x 1 root root 1489 May 30 2023 mvs_osx drwxr-xr-x 16 root root 4096 Jul 29 22:25 Packages drwxr-xr-x 2 root root 4096 Jul 29 22:25 pch drwxr-xr-x 2 gmgauthier gmgauthier 4096 Aug 3 17:45 printouts drwxr-xr-x 2 root root 4096 Jul 29 22:25 prt drwxr-xr-x 2 root root 4096 May 24 2013 rdr drwxr-xr-x 3 root root 4096 Aug 4 13:56 scripts -rw-r--r-- 1 root root 1968 Aug 6 2023 start_herc -rw-r--r-- 1 root root 1331 Aug 6 2023 start_herc.bat drwxr-xr-x 2 root root 4096 Jul 31 21:19 tape drwxr-xr-x 2 root root 4096 Jul 29 22:25 unattended
Configuring Turnkey
Running The Turnkey MVS Instance
At this point, there is technically only one other thing that is necessary to get the system going. You will want to do this so that you can interact with the machine directly from the console. cd
into the "unattended" directory:
root@tk5-sysa:~/mvs-tk5# cd unattended root@tk5-sysa:~/mvs-tk5/unattended# ls -l total 20 -rw-r--r-- 1 root root 8 Dec 2 09:52 mode -rwxr-xr-x 1 root root 788 Jul 23 2023 set_console_mode -rwxr-xr-x 1 root root 830 Nov 28 2013 set_console_mode.bat -rwxr-xr-x 1 root root 792 May 30 2023 set_daemon_mode -rwxr-xr-x 1 root root 828 May 30 2023 set_daemon_mode.bat
Run the set_console_mode
script:
root@tk5-sysa:~/mvs-tk5/unattended# ./set_console_mode Hercules console mode activated for unattended operations mvs Press any key to continue...
Once that's done, return to the base directory. From there, we can launch the system with the mvs
command, which will load the master console directly:
root@tk5-sysa:~/mvs-tk5/unattended# cd .. root@tk5-sysa:~/mvs-tk5# ./mvs HHC01536W HDL: WARNING: '/usr/local/lib/hercules' is not a valid directory HHC00007I Previous message from function 'hdl_checkpath' at hdl.c(769) HHC01413I Hercules version 4.7.0.0-SDL HHC01414I (C) Copyright 1999-2024 by Roger Bowler, Jan Jaeger, and others HHC01417I ** The SDL 4.x Hyperion version of Hercules ** HHC01415I Build date: Mar 11 2024 at 19:11:26 HHC01417I Built with: GCC 11.4.0 HHC01417I Build type: GNU/Linux x86_64 host architecture build HHC01417I Modes: S/370 ESA/390 z/Arch HHC01417I Max CPU Engines: 128 [ truncated ] . . .