I attribute about 95% of my learning to actually doing work. Most of my peers would agree and even push it further to “95% of my learning is by screwing things up.” For many computing platforms, it is very easy to spin up a VM and get working. However, it seems nearly impossible to do with the mainframe. That is, until you hear about Hercules.

When I first heard about Hercules in college, I was fascinated. You are telling me I can run a mainframe off my laptop? I rushed to the dorms to begin my journey to become a mainframe expert. Then, it hit me…

“Wow, there is WAAAAYY too many things here I have no idea about. I don’t even know where to begin…Well, I guess it is time to learn more about Linux…”

And that was it. It is not that the Hercules documentation is poorly written. It is not that the system is just too complex. It is the culture of the mainframe world. Every mainframer I talk to, every manual I read – they all assume knowledge. And rightfully so. There is so much information and so many things you can do with a mainframe. It is impossible to have an easy Mainframe 101 crash course.

It will all run on Ubunu if you apt-get install x3270, and instead run the xstartmvs. It seems like the console requirements (and a telnet session?) requirements may have changed since you wrote this article. IPL still fails with a SEG FAULT. Don’t have a clue why. It does the same for “ipl 148” and “ipl 150”.

1) Mounting the ISO: I am glad you caught that one. Some people prefer to extract the ISO contents on different machines so they have the files off platform. Others prefer to mount directly. It is totally up to you.

2) Console Requirement: The master console is still required, but if you are installing a 3270 client on platform and using the xstartmvs – this will automatically start up the console session with Hercules. I do not have a system with X11 forwarding currently so I cannot try a recreate for you.

3) Disabled Wait State: If you check the last message in your failure, you will see a ‘Disabled Wait State’

This is probably a hardware error. ReIPL the system. If the error persists, configure the failing central processor offline. This action requires a power-on-reset. Contact hardware support.”

I would suspect there is an issue with your Hercules install/configuration or the x3270 configuration

Some questions to help you along:
– Do you have a proper X11 or other GUI setup on your machine to allow for x3270 to work properly?
– What do you get if you run the startmvs command instead of xstartmvs? What happens if you try ipl 148 there?

It is important to remember “where” you are. In my video, hercules was running on Ubuntu, 3270 was on Windows. 3270 will be your console and TSO sessions that connect to your MVS system running on hercules (which is running on Ubuntu). Clear as mud, I know.

Hercules came from “apt-get” … thinking about building it from source though. X stuff should be fine, x3270 runs fine. But to remember I originally followed your instructions explicitly, which is why I have 3270 Terminal Software on Windows. The same seg fault occurred when the terminals were on Windows – so I guess it’s not the terminals. This Ubuntu is 16.04LTS in a VM in Wmare. I did have a thought that that could be the problem? I can’t think of a reason why it would matter vs running on bare x86 metal. The error does say something about “branch on condition” doesn’t say what the condition is … or who is branching. I have trouble telling what is the actual mainframe cpu and what is Hercules.

TK4- works both on Windows 7 and Ubuntu 16.04LTS for me. TK4- comes with its own Hercules … but it does prove that it can work on this Ubuntu and the x3270 terminal is ok. I didn’t try building Hercules yet but I apt removed it and apt installed it again. Same error happens. Perhaps something is wrong in the dist. of Hercules – somehow it conflicts with TK3 mvs? I tried running with a log and it doesn’t tell me any more – except there’s something about starting TIMER and permission denied.

I removed the apt repository version of “hercules” again. I got the source tgz and built the darn thing. I get the same exact problem either with xstartmvs or startmvs. I even tried removing the mvs38j and going back to the turnkey dir and running setup again. I mistakenly ran it without the “-a”. I reread your article and removed it again and reran “setup -a” on it. I still get the same error. No idea why I can run TK4- kit with its own Hercules … but cannot run this one. IT DOESN’T LIKE ME.

The Tur(n)key system is built in such a way that JES2 automatically gets started with the warm start option. This is the appropriate choice in nearly all cases. Not now, though, when spool and/or checkpoint have just been built. Okay, then we start JES2 like this … So I guess now that is a COLD-START of JES2.

Languages? It only speaks ENGLISH. 🙂 Really it speaks IBM Mainframish. Which is about as foreign a language as you could find. 🙂
Oh … you meant programming languages? A whole lot. Most that you would expect in a mainframe. Try it out and see.

For some reason on Turnkey-3 I cannot ADDUSER or ADDUSERP. I try the same on TK4- and it works. TK4- has RAKF (like RACF) security as well. And that works as well. I keep re-installing “setup -a” TK3 and it keeps doing the same thing. Am I spelling the volume password wrong or something? SECRET?

Does anyone besides me find it Draconian that you can do anything else that writes to disk files … such as edit the ADDUSER and ADDUSERP files … but cannot add the actual users? And the CHGPWD doesn’t have in the JCL any example of a user being changed. So where do you put the USER and PASSWORD in order to input them for the change? It’s not interactive … ? So how do you DO THAT?

If anyone has been using Volker Bandke’s turnkey-mvs trying to change their password using the provided job in SYS2.JCLLIB.CHGPWD and then noticed that they are unable to login, the provided job has a slight flaw in it that actually changes the username and not the password.

Original Script (Lines 21-23)

ACCOUNT
CHANGE (_theuid) DATA(_thepass)
END

The job jcl should in fact be:

ACCOUNT
CHANGE (_theuid _curpass) DATA(_newpass)
END

This will then successfully change the password for the account, however please note that the target user will need to be logged off of TSO

… OK so these lines are on the 2nd page of the CHGPWD. I didn’t notice before. So what does this mean? You have to replace those things in parenthesis with the actual User ID and Thepass or Newpass with a password? Do you need the underscore characters? “_newpass”? How do you put UserID and Currpass?

I am using a different TN3270 then your recommendation, I am using TN3270 Lite 2.2 from MochaSoft. I noticed in some other 3270 emulators, there was no option to specify the logic unit name, in this product there is so I create a console with no LUN and another session with the LUN of ’00C0′ as you recommend.

I will follow up tomorrow with using the TN3270 on Windows as you recommend but that is not easy for me to do given what hardware are currently have available and my general disdain of windows .

Hi Ryan, I’m running in to difficulties trying to “Install wc3270 from the download in Step 1 on your client pc” I wonder if you could help me please? the README file in the download doesn’t seem to contain any instructions and the install-sh script isn’t working for me. Thanks!

I have ADCD and I also have zOS running in it. But I’ve been struggling for some time to get the TCP/IP stack working so that I can ftp jobs into JES. I’ve followed the instructions on https://github.com/hercules-390/hyperion/blob/master/html/herctcp.html, but what this page (and others) doesnt tell me is what IP address to use to refer to Hercules. So I’m looking for some help and I came here to hopefully get some.

Hi, some time ago i got “it” to work with an own ip segment between linux and mainframe os, configuring the linux (this has then 2 adresses) as router for the “inner segment”, this mainframe tcpip was able to be accessed by telnet, serveral 3270 terminals and ftp

Can we run the 3270 server console and client both in ubuntu machine. I’m struck with setp6. while launching x3270. It doesn’t ask for configuration step. If I do connect localhost:3270. it launching Hercules page. I know I’m missing server console. But getting no clue.