Running MVS 3.8 on Hercules NetBSD arm64 Pinebook

The Pinebook is an amazing little piece of hardware, and with the price tag of 100 USD a great way how to learn computer basics and enjoy it in the meantime.

I have decided to cover my experience with NetBSD -current (thanks to Jared McNiell which now runs very well off the microSD cards. Only drawback is that currently you need to use an external USB wireless interface, since the native is not supported by NetBSD yet.

I have been quite busy building pkgsrc packages for this device and upload them regularly here :

So far I have built quite a number of various emulators that run on the arm64 NetBSD platform, most notably :

  • SimH         vax           (VAX OpenVMS 7.3)
  • Qemu        ppc64      (AIX 7.2)
  • GXemul    mips         (Ultrix 4.5.0)
  • DOSBox   i386
  • Hercules  ESA/390  (MVS 3.8 )

We will be covering how to setup the Hercules and MVS 3.8 (TK4 system) on the amr64 NetBSD platform.

Assuming we have all in place (NetBSD is running on the Pinebook off microSD and we have an internet connection) following was done:

Compile /usr/pkgsrc/emulators/hercules   from the pkgsrc framework
Since the latest pkgsrc hercules Makefile is for hercules-3.11 we need to change it to something more recent, latest version of Hercules is 3.13 (not considering the Hyperion branch of Hercules 4.0)

So we need to change the  Makefile so that we include the latest version

# vi /usr/pkgsrc/emulators/hercules/Makefile
DISTNAME= hercules-3.13

# make install clean clean-depends

Once we have Hercules built we move on to compile the IBM 3278/3279 terminal emulator for X windows

# cd /usr/pkgsrc/x11/x3270 
# make install clean clean-depends

With these ready we can move on to download the The MVS 3.8j Tur(n)key 4 – System

$ mkdir TK4
$ cd TK4
$ wget
$ unzip 
$ rm
- Remove hercules directory since we are on NetBSD 
$ rm -rf hercules

Next we move on to edit the tk4-.cnf configuration file so we can include 2 CPUs from the Pinebook since it runs on Quad-Core ARM Cortex A53

In the TK4 directory edit the conf/tk4_.cnf  as follows 


We are doing this because TK4 bundle does not ship with NetBSD arm64 binaries obviously and we cannot use the native automatic shell-script loader start_herc

Thanks to the wonderful video blog of Moshix I have borrowed his idea on running Hercules TK4 on S390x SUSE Linux and translated it to NetBSD arm64 world.

Start hercules

# hercules -f conf/tk4-.cnf

Once in the Hercules prompt we do the following:
We IPL to dasd address 148

Command ==> ipl 148

We do not want automatic IPL of MVS so we start with command 03 because
the TK4 is configured to autoload properly on Intel and we don’t want
some things to run so we use manual load

Command ==> /r 00,cmd=03

"Wait a couple of moments till you see"
HHCCD002I  Writer thread 2 started: tid=Fxxxxxx, pid=xxxxx

We check where we are

Command ==> /d a,l

"We should see 0000 TIME SHARING USERS"

We need to start manually the Job Entry Subsystem 2 before anything else

Command ==> /s jes2

We specify next the startup options

Command ==> /r 00,noreq

"We should see this last line"

We check if jes2 is up

Command ==> /$da

"If yes we should see" 

We now start a VTAM which is a job procedure called net

Command ==> /s net

"We should see after a few moments" 
IST093I N1x   ACTIVE    (N07 - N15)

We check where we are

Command ==> /d a,l

And finally launch TSO

Command ==> /s tso

Now it should be a good time to connect to the emulated MVS via x3270

Start x3270 terminal and connect to

It is a good idea to read some documentation first before using the MVS :)

The login details to the TSO are:

Login as herc01 passsword: CUL8TR

To Shut down MVS properly please follow this procedure


Also possible is to run the MTS (Michigan Terminal System)  MTS has been made available to run/test/learn here

To summarize we need to get the following

  • An updated version of the hercules.cnf file for use with MTS D6.0A (1KB, 19 January 2012). The update corrects a problem with the case of the simulated disk file, should be mts600.dsk, but was MTS600.dsk.
  • In addition to the archive, it is recommended that the d6.0.tar.gz archive be downloaded as well since it contains the full set of D6.0 *FS distribution tapes and a number of documentation files that will be useful when using D6.0A. The d6.0.tar.gz archive may be downloaded from

A very well documented visual guide is here


About astr0baby

Please run Adblock or similar... we have been told to do so since Carl Sagan wrote the Contact .
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Running MVS 3.8 on Hercules NetBSD arm64 Pinebook

  1. It is fantastic you got all of the VMS, AIX and MV projects working on a little ARM platoform. “GXemul mips (Ultrix 4.5.0)” is of particular interest to me … were you able to find and install DECnet-Ultrix on it?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.