Every once in a while there's a tech announcement that makes me do a double-take. Today's catastrophic announcement with Nokia and Microsoft? Nah. Fedora on IBM System z, now there's a puzzler.
The Fedora community is all about experimentation and cutting edge development, so it doesn't shock me to see it being ported to non-mainstream systems. But the news at the end of January that Fedora 14 is kicking on System z caught me by surprise. I mean, we've got IBM's heavy hitting mainframe that is meant for mission-critical workloads on one hand, and then Fedora on the other. All due respect to the Fedora community, but "mission critical" is not one of the terms that leaps to mind when I think Fedora. Nor is mainframe. What gives?
I asked Red Hat's Phil Knirsch about the project, and he had some good answers. The first question, who's actually doing the work on this thing? Knirsch says that the first port to System z (a.k.a. s390x) was done closely with IBM, and a company called Millenux with Oliver Paukstadt doing a lot of the work on the Millenux side.
Now? It's mostly Red Hat and IBM, says Knirsch. "There just aren't that many community engineers out there that have a System z in their basement to play around with. Also, most of the early problems and issues have been fixed over the past few years and were included in the related upstream projects, so the main work for us today is to make sure that all packages still properly build on System z and that all necessary installer, kernel, glibc and toolchain changes are also handled correctly. This is still a huge task, but thankfully we have very experienced people working on it."
No kidding most community members don't have a System z just lying around in the basement. Those things are pricey. So then, how's the rest of the Fedora community supposed to be tinkering with the System z port? What about a hosted machine from Fedora with access for contributors? Knirsch says that is "unfortunately out of our scope of budget for Fedora, so this is unlikely to happen in the foreseeable future." Instead, Knirsch suggests that developers use the Hercules Emulator to test Fedora or work on development.
"We've made sure that the Fedora release on System z is installable in the hercules emulator. If you have a decent machine at home you can use that to emulate a System z and run Fedora. There are a few things that don't work yet in the emulator, but overall the environment is remarkably similar to a real System z and should be close enough to debug big endian issues or runtime problems and failures. The speed of the emulator on a modern quad core system is fast enough to do that in a reasonable amount of time."
He also notes that things have gotten easier since "most of the early problems and issues [on S/390] have been fixed over the past few years and were included in the related upstream projects." The main thing now, Knirsch says, is to make sure that the packages still build on System z, and that "all necessary installer, kernel, glibc and toolchain changes are also handled correctly."
The remaining question is why?. Fedora development moves fast. Releases come quickly, and are at the end-of-life within 13 months. That's not exactly a recipe for mainframe deployment. Knirsch says the use case for Fedora is "a tough question."
I am not sure I can give you a really satisfying answer. At Red Hat, it is clearly important from a future perspective as Fedora is our development platform for our next Red Hat Enterprise Linux releases, so we have a strong interest in having a working System z release on Fedora. Doing this in house would mean the same effort but without community feedback and involvement, and we've seen for many other architectures how important community feedback is.
Also, although System z is often seen as existing only for mission-critical deployments and production environments, there are cases where even on those big mainframes, companies want to evaluate something on Linux or do a pilot for a Linux environment. For these deployments, we've seen occasional requests for Fedora on System z.
It certainly is something for the highly interested engineers out there who want to give it a try on the hercules emulator to see how it works and get accustomed to it and fiddle around with it.
Note that this isn't the first time that Fedora has been available on System z — Fedora 6 ran on System z as well. There may also be hope for a resurgence of PowerPC as well. Knirsch says "As you might know, Power PC got moved to secondary arch status after Fedora 12, and we want to ensure that development for Power PC on Fedora continues as well. Luckily, we have a large existing community where members often have their own hardware to work, making it a lot easier to involve and collaborate with the community.
"We hope to announce some progress there soon, but right now it's still too early to give an ETA for the next release for Power PC on Fedora. Keep watching the Fedora Development mailing list for updates."
If you want to check in on the System z port, the relevant info is on the Fedora wiki.