Run an IBM Mainframe on an IBM POWER: Hercules Comes to AIX
Hercules — the legendary open-source IBM mainframe emulator — now runs natively on AIX. Boot MVS 3.8j, VM/370, or even z/Architecture on the same POWER hardware that shares its DNA with the original mainframes. Big-endian to big-endian, zero byte-swap overhead. It’s IBM all the way down.
There’s something deeply satisfying about running an emulated IBM System/370 mainframe on an IBM POWER server running AIX.
Not useful, exactly. Not productive. Not something you’d put on a quarterly business review slide. But satisfying — in the same way that building a ship inside a bottle is satisfying, or running DOOM on a calculator, or compiling GCC with GCC.
Hercules is an open-source emulator that has been letting people run IBM mainframe operating systems on commodity hardware since 1999. Roger Bowler built it because he wanted mainframe enthusiasts to explore and learn without spending a fortune on equipment. Since then, thousands of people around the world have used it to boot MVS 3.8j, VM/370, z/VSE, and more — on everything from Raspberry Pis to cloud instances.
But until now, running Hercules on AIX — IBM’s own Unix operating system, on IBM’s own POWER hardware — required building it from source and dealing with platform-specific patches. LibrePower just changed that with a native AIX package.
Why This Combination Is Special
Most people run Hercules on x86 Linux or Windows. That works fine. But there’s something the AIX/POWER combination offers that no x86 system can: native big-endian execution.
Here’s why that matters. IBM mainframes — from the System/360 introduced in 1964 through today’s z16 — use big-endian byte order. POWER processors also use big-endian byte order (AIX runs in big-endian mode natively). x86 processors use little-endian.
When Hercules runs on x86, every piece of emulated mainframe data needs to be byte-swapped — every instruction fetch, every memory access, every I/O operation. The emulator has optimized assembly code to handle this, but it’s still overhead that exists on every single operation.
On AIX/POWER? Zero byte-swap overhead. The emulated mainframe’s memory layout matches the host’s memory layout. A 32-bit fullword in emulated S/370 memory is stored exactly the same way in POWER memory. It’s not just compatible — it’s native.
Think about it: POWER hardware is the direct descendant of the same IBM engineering that built the original mainframes. The POWER ISA grew out of IBM’s experience with System/360 and System/370 architecture. Running a mainframe emulator on POWER isn’t just running software on hardware — it’s a family reunion.
What Can You Actually Do With It?
Boot MVS 3.8j (The Free Mainframe)
The most popular use of Hercules is running MVS/TK5 — a turnkey package of IBM’s MVS 3.8j operating system. MVS 3.8j was the last version of MVS that IBM released into the public domain, and it’s a fully functional mainframe operating system from 1981.
With TK5, you get a pre-configured system that includes TSO (Time Sharing Option), JES2 (Job Entry Subsystem), ISPF-like tools, COBOL and Fortran compilers, assembler, and a full JCL job submission environment. It’s the same conceptual foundation that modern z/OS is built on.
As one developer recently put it while building a Mac app around Hercules: the dataset model, partitioned data sets, JCL job submission, batch vs. online processing, VSAM — these concepts haven’t changed in 40 years. They’ve just gotten faster and added AI accelerators. Learning them on MVS 3.8j is like learning SQL on SQLite before moving to PostgreSQL.
Train Mainframe Skills
This is the serious use case. There’s a well-documented skills gap in the mainframe world — experienced COBOL programmers and systems programmers are retiring, and not enough new talent is being trained. Running Hercules on your existing AIX infrastructure gives your team a safe sandbox to learn mainframe concepts without touching production systems.
You can practice JCL, write and compile COBOL programs, learn TSO/ISPF navigation, experiment with DASD management — all on a system that your team already manages.
Explore Computing History
95% of ATM transactions, 80% of in-person credit card swipes, and 40% of online banking systems still run on mainframe code. Understanding how these systems work isn’t just nostalgia — it’s relevant to understanding how the world’s financial infrastructure actually operates.
And honestly? Navigating an operating system that predates the IBM PC, using a 3270 terminal emulator, submitting JCL jobs and watching them execute through JES2… it’s just fun. There’s a reason someone ran a full System/370 on a $5 Raspberry Pi Zero for five years straight.
Installing Hercules on AIX
LibrePower provides a pre-built native 64-bit AIX package of SDL Hercules Hyperion 4.9.1 — the actively maintained fork.
Quick Install
# Add LibrePower repository (one-time setup)
curl -fsSL https://aix.librepower.org/install.sh | sh
# Install Hercules
dnf install hercules
That’s it. You get the main emulator plus all the DASD and tape utilities.
Manual RPM Install
curl -L -o hercules-4.9.1-1.librepower.aix7.1.ppc.rpm \
https://aix.librepower.org/packages/hercules-4.9.1-1.librepower.aix7.1.ppc.rpm
rpm -ivh hercules-4.9.1-1.librepower.aix7.1.ppc.rpm
Verify Installation
hercules --version
Quick Start: Your First Mainframe in 5 Minutes
1. Create a DASD Volume
dasdinit -a myvol.3390 3390-1 VOL001
This creates an empty 3390 DASD image — the mainframe equivalent of formatting a hard drive.
2. Write a Minimal Configuration
Create myconfig.cnf:
CPUSERIAL 000001
CPUMODEL 3906
MAINSIZE 64
ARCHMODE z/Arch
CNSLPORT 3270
NUMCPU 1
This configures a single-CPU z/Architecture machine with 64 MB of memory and a 3270 console on port 3270.
3. Start Hercules
hercules -f myconfig.cnf
4. Connect a 3270 Terminal
Connect any tn3270 terminal emulator to localhost:3270. On AIX, you can use tn3270 if available, or connect from another machine with c3270, wc3270, or any other 3270 emulator.
For a complete turnkey experience, download the MVS/TK5 package and point Hercules at its configuration file. Thirty seconds later, you’ll be looking at a TSO logon screen.
What’s Included
The LibrePower package installs a full set of utilities alongside the main emulator:
| Utility | What It Does |
|---|---|
hercules | Main emulator — runs the virtual mainframe |
herclin | Line-mode emulator for batch/scripted use |
dasdinit | Create empty DASD disk images |
dasdload | Load DASD from card deck images |
dasdcopy | Copy and convert between DASD formats |
dasdls | List contents of a DASD volume |
dasdcat | Extract individual PDS members |
hetinit | Create tape images |
hetget | Extract files from tape images |
hetmap | Display tape contents |
tapecopy | Copy tape images between formats |
cckdcdsk | Check CCKD image integrity |
cckdcomp | Compress CCKD images |
convto64 | Convert CCKD to CCKD64 format |
Emulation Capabilities
The AIX build supports the same feature set as Hercules on other platforms:
- Three architectures in one binary: System/370, ESA/390, and z/Architecture
- Up to 128 emulated CPUs: Multi-processor mainframe emulation
- Full DASD support: CKD (3390, 3380) and FBA disk types
- Tape emulation: 3420, 3480, 3490 tape drives
- CCKD/CCKD64: Compressed DASD images for efficient storage
- HTTP console: Web-based operator interface
- Crypto: Via
/dev/urandomon AIX
Known Limitations on AIX
There’s one significant limitation to be aware of: no guest networking. AIX doesn’t support TUN/TAP virtual network devices, so CTC, LCS, and QETH network adapters are not available. The emulated mainframe runs without network connectivity — console access only via 3270.
For most educational and hobbyist use cases, this doesn’t matter. MVS 3.8j didn’t have TCP/IP anyway (that came later). You can still submit batch jobs, compile programs, manage datasets, and do everything that makes mainframe computing mainframe computing.
If you need networking for your emulated mainframe, LibrePower also offers Hercules in Docker on Linux on Power — where TUN/TAP is available and full guest networking works.
Build Notes
For the curious (and the source-code divers):
- SDL Hercules Hyperion 4.9.1 — the actively maintained fork with the latest fixes
- GCC 13.3.0 with
-maix64for native 64-bit XCOFF binaries - External packages: crypto, decNumber, SoftFloat, telnet — all built as 64-bit
- AIX-specific patches: Symbol renames for AIX header conflicts, TUN/TAP stubs (since AIX lacks TUN/TAP), crypto
/dev/urandomfix
The full source, spec files, and built RPMs are available in the LibrePower GitLab repository.
Who Is This For?
Let’s be honest about the audience:
Mainframe educators and students who want a sandbox that runs on enterprise-grade hardware their organization already owns. If your shop has AIX LPARs, you can carve one off for a Hercules training environment without buying anything new.
Retro computing enthusiasts who appreciate the poetry of running an emulated mainframe on real IBM hardware. The Hercules community overlaps heavily with the retro computing scene — people who find joy in exploring computing history hands-on.
Systems programmers who need to understand mainframe concepts for their day job but don’t have access to a real z/OS system. Running MVS 3.8j teaches the fundamentals: JCL, datasets, DASD, job scheduling, TSO, VSAM. These concepts translate directly to modern z/OS.
Anyone who’s ever thought: “I wonder if I could run a mainframe on this thing.” On AIX/POWER, the answer is now a dnf install away.
The Bigger Picture: LibrePower and IBM Power
Hercules on AIX is part of a broader effort by LibrePower to bring modern (and sometimes delightfully retro) open-source tools to the IBM Power ecosystem. The project’s repository at aix.librepower.org already includes tools like fzf, ripgrep, MariaDB, nano, delta, and even DOOM — because sometimes proving a point has never been this fun.
The philosophy is simple: IBM Power hardware is phenomenal. The software ecosystem around it should match. Whether that means a bleeding-edge web server like Caddy, an in-memory computing platform like GridGain, or a mainframe emulator from 1999 that lets you boot a 1981 operating system — if it runs on Power, LibrePower wants to make it easy to install.
Useful Links
- SDL Hercules Hyperion — Official Site
- SDL Hercules Hyperion — GitHub
- MVS/TK5 — Free Turnkey MVS 3.8j System
- Jay Moseley’s Hercules Tutorials
- Hercules Documentation
- LibrePower Website
- LibrePower AIX Repository
- LibrePower GitLab — Hercules Package
- Open Mainframe Project
- Zowe — Modern Mainframe Development Tools
LibrePower is a community-driven open-source project building modern tools for the IBM Power ecosystem — AIX, IBM i, and Linux on Power (ppc64le). Visit librepower.org to learn more.