Linux on the IBM ESA/390 Mainframe Architecture

Sitting Penguin Linux on the mainframe? 65535 attached devices, and all of them busy? Why would anyone do such a thing? Its a crazy world, but in fact, Linux/390 makes more sense than most people realize. This page attempts to capture some of the status of this rapidly evolving port.


There are in fact two ports of Linux to the S/390 Mainframes. One, the Bigfoot (i370) port was started first, but is currently stagnant for essentially political, social, and market reasons. The other, Linux for S/390, is the subject of active development and advancement, with a number of large pilot deployments and a very active mailing list. A tad of history is covered below.

If you want to hack on the i370 port anyway, follow this link for status and a quick-start guide. The biggest reason why you may want to work on the i370 port is because almost no one else is working on it, and you will have quite the run of the technology. You will learn more than hacking an existing port.

IBM Linux/390

The IBM Linux/390 port is the biggest thing to happen in the mainframe world in many years, with explosive interest and standing-room-only presentations. There are many different web pages that are devoted to the topic in one way or another, providing introductory material, pre-compiled binaries, mailing-list archives, links to press releases, etc. Below are some of these.

Press Releases

Press releases, reports, news stories, discussions.


Some hard-core technical documentation of S/390 internals.


GNU and Other Tools for VM, MVS, and/or Open Edition S/390


The original i370 project was started in August 1998 by Linas Vepstas, at the instigation of Daniel ("LPAR") Lepore. It sounded like fun. Dan provided the cheer-leading, and helped debug early versions. Later, Neale Ferguson, Peter Schulte-Stracke, and Rob van der Heij joined in to provide code and shoot bugs. Rick Troth helped with boot-loader issues. The result of this effort was a compiler, an assembler, a port of glibc, and a kernel that would usually boot but was missing important features, such as disk drivers and network drivers, never mind a variety of infrastructure.

The s390 project was also started in 1998, but followed a very different path. It was begun as a skunk-works project at the IBM Böblingen development center. It was developed in secret for over a year, with little interaction or communication with the outside world. The reason for this secrecy is unclear, although the best explanation seems to be that the developers were unaware of the normal open-source development process. It is said that they feared (political) reprisals from other parts of IBM; since the mainframe business is a lucrative business for IBM, it is beset by turf battles, intrigue and maneuvering, and closed-door deals. This fear is not unfounded: certain individuals within IBM tried to get some of the i370 developers, ahem, fired. Others worked hard to undermine the credibility of the i370 project with carefully placed non-disclosure agreements and leaked secrets. Its not about being fair, its about making money. Whatever the case may be, the s390 team chose not to work with the i370 team, and instead developed similar but incompatible tool chain (compiler, assembler, C Library) and kernel port. This project was announced publicly, and the source code released, shortly before Christmas 1999.

Despite its unusual entrance into the public eye, it has caught the imagination of all, and is currently the focus of all development and deployment efforts. The reasons for this are obvious: Its supported by a staff of paid employees (vs. i370's unpaid volunteers), and the employees work for IBM, which is, after all, the mainframe company. They call the shots. I only regret that work couldn't have proceeded in a more cooperative and inclusive fashion.


A big THANK YOU goes out to Melinda Varian of Princeton University for providing access to the Princeton IBM/370 mainframes to do this work!
Last updated April 2000 by Linas Vepstas (
Copyright (c) 1998,1999,2000 Linas Vepstas.
All trademarks on this page are property of their respective owners.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included at the URL, the web page titled "GNU Free Documentation License".

Go Back to Enterprise Linux(TM) Page
Go Back to Linas' Home Page