Why Building an OS/400 Lab at Home Was Harder Than I Expected
Introduction
I’ve always been fascinated by old computers, especially the IBM AS/400. You might wonder why anyone would want one of these ancient business machines in their home. Well, I’m a security researcher, and I love tinkering with old hardware. Plus, these systems are still running important applications in many companies today, even if they look a bit different now.
I had this crazy idea to build my own AS/400 lab at home. As someone who works in security, I wanted to really understand how these machines tick - their security features, potential weaknesses, and all the quirks that make them unique. Having my own system would let me experiment safely without worrying about breaking anything important.
What really drew me in were some of the AS/400’s weird and wonderful technical features. Imagine a computer where the memory and hard drive are treated as one big space, or an operating system built entirely around objects. It even has its own database (DB2 for i) baked right into the system! And there’s this clever thing called the machine interface that lets the same software run on different hardware.
I was also excited about learning the programming languages used on these systems. There’s RPG, which despite its age has evolved into something quite modern, and COBOL, which businesses still use heavily. Then there’s CL, which is like the command language that holds everything together. Having my own machine would mean I could play around with all of these without the usual restrictions you’d find in a work environment.
Looking back, I was probably a bit naive about how easy this would be. What started as a seemingly straightforward project turned into quite an adventure, with plenty of challenges I never saw coming. But hey, that’s what makes it interesting, right?
First idea, making a virtual machine of the AS/400
My first approach was to try virtualizing an AS/400 system. This seemed like the most logical and cost-effective solution - after all, virtualization has become the standard way to create lab environments for most operating systems. However, I quickly discovered that virtualizing AS/400 systems isn’t as straightforward as virtualizing a Windows or Linux machine.
The key challenge lies in the hardware architecture. The AS/400 and its successor operating systems (i5/OS and IBM i) run exclusively on IBM’s POWER architecture, not on the x86 architecture used by most personal computers. While IBM did introduce virtualization capabilities for IBM i starting with V6R1 in 2008, these capabilities are limited to running on POWER-based servers. There’s no way to virtualize these systems on standard Intel or AMD processors.
This architectural limitation meant that common virtualization platforms like VMware, VirtualBox, or Hyper-V weren’t options. Even emulation platforms like QEMU, which can sometimes bridge architectural differences, don’t support emulating the AS/400’s unique hardware environment. This realization led me to understand that I would need actual IBM POWER hardware to proceed with my project.
Finding the hardware
Once I realized virtualization wasn’t going to work, I started hunting for actual AS/400 hardware. And wow, what a journey that turned out to be.
The first major hurdle was simply finding one. These machines are getting pretty rare these days, especially the older models that would actually be affordable for a home lab setup. Most of them have been scrapped over the years as businesses upgraded their systems. The few I could track down were usually from companies doing upgrades or going through liquidation.
And then there were the prices. I nearly fell out of my chair when I saw what these things cost. Even for ancient refurbished models, we’re talking thousands of dollars. A bare-bones system would set me back at least $5,000, and anything decent was north of $10,000. That was way more than I planned to spend on this project.
The condition of the available systems was another headache. Most of these machines are pushing 20 years old, and sellers usually couldn’t guarantee they’d even work. I kept imagining scenarios where I’d drop a few grand on a system only to have it die after a week, or discover it was missing crucial parts. And good luck finding documentation or firmware for some of these older models.
Then there was the physical reality of these beasts. We’re talking about massive rack-mounted units that weigh as much as a small motorcycle. I live in an apartment - just getting one of these up the stairs would be an adventure. Not to mention they run hot and sound like a jet engine taking off. My neighbors would love that.
Even if I managed to find one at a decent price, I’d still need to figure out how to get it home, where to put it, and how to deal with the noise and heat. It was starting to feel like I was trying to park a 747 in my garage.
Timeline of the projects
2021-02-23 - The journey begins, with an AS/400 9401-150
After months of searching, I finally found a machine that was in good condition and priced reasonably. It was a refurbished AS/400 Model 9401-150, which is a mid-range system from the late 1990s. It had a 128Mb RAM and 12Gb in two (4Gb+8Gb) SCSI hard drives. Not the latest and greatest, but it was a start. The seller was able to provide the original CDs and a few cables for the machine, which was great. From there, began the fun of restoring the machine, since it was crumbled with dust. I wanted to avoid as much as possible to start it up in this state, so I decided to clean it up first.
After two weeks of cleaning, I finally started the machine. It started perfectly, although I did not have any idea what I was doing. The AS/400 is no ordinary machine, there are no mouse, keyboard, screen or usb ports on these. On these machines, you have to connect using a special terminal called IBM InfoWindow. This is no standard terminal, it’s a specific terminal that is able to connect to the AS/400 system using Twinax cables. Since I had no such terminal to access the system, I could not see precisely what was happening, but I did notice something interesting.
On the front panel there were a lot of codes that were displayed, and I could not understand what they meant. I could see that the machine was running, but I could not see what was happening. I could not see the login screen, I could not see the system prompt. I could not do anything. I was stuck.
2021-04-24 - IBM InfoWindow II - Type 3488 with Keyboard
I finally found a terminal that was able to connect to the AS/400 system. It was a IBM InfoWindow II - Type 3488 with its IBM model M keyboard. This terminal was able to connect to the AS/400 system using a Twinax cable.