|
|
Subscribe / Log in / New account

Linux on PowerPC

July 14, 2010

This article was contributed by Koen Vervloesem

Until not so long ago, your author's main computer was a PowerPC machine, but the number of Linux distributions that officially support this platform is diminishing year by year. So is it still viable to run Linux on a PowerPC computer these days? We'll explore the options, which are roughly subdivided into three categories: PowerPC ports of Linux distributions, PowerPC-specific Linux distributions, and PowerPC ports of non-Linux free operating systems (the BSDs).

When Apple still sold Macs based on the PowerPC processor, the architecture was relatively well supported by mainstream Linux distributions. In 2010, PowerPC seems to have fallen off the radar. The number one reason is that there are currently not many PowerPC systems for desktop users on the market. For a time, Terra Soft Solutions sold PowerPC-based workstations, such as the YDL PowerStation, but the product has been discontinued after Fixstars Solutions acquired the company. Another popular PowerPC system for Linux users was the PlayStation 3, but Sony removed Linux support in April of this year. So, at this point, there doesn't seem to be a mainstream PowerPC desktop system you can buy. Luckily, owners of used Macs and other PowerPC systems are not left out in the cold, as they can still run free operating systems.

The Power of the community

Ubuntu supported the PowerPC platform officially until version 6.10 ("Edgy Eft"). From 7.04 on, it has still been available, but as a community port. In February 2007, Matt Zimmerman explained the decision in the ubuntu-announce mailing list:

The Ubuntu Technical Board has decided to reclassify PowerPC as an unofficial architecture, rather than a fully supported architecture, for Ubuntu 7.04 and subsequent releases. This means that packages and ISO images will continue to be produced, but releases will not be delayed due to problems which are specific to PowerPC, and the quality of the PowerPC release itself will depend very much on the extent to which members of the Ubuntu community drive PowerPC testing and bug fixes.

At the moment, Canonical has still one supported PowerPC release: the server edition of Ubuntu 6.06 LTS, which will be supported on PowerPC until June 2011. The Ubuntu community picked up PowerPC maintenance for the other releases, and interested users can still download ISO images for the 7.10 through 10.04 releases in the ports section of the main Ubuntu mirror. Ubuntu's wiki contains a FAQ and a list of known issues for PowerPC users, although the information is slightly outdated.

OpenSUSE dropped official support for PowerPC in its 11.2 release in November 2009. This was done rather quietly: openSUSE 11.2 was released on November 12 without repositories and ISO files for PowerPC, but without any official word that PowerPC support had been removed. After a bug report, Novell's Michael Loeffler gave the official response:

We (Novell/SUSE employees) won't provide a ppc distribution anymore. The effort for such a code stream is not justified by 0.3% out of all installations (see Distribution of architecture at http://en.opensuse.org/Statistics). Nevertheless we will support anyone who'd like to take over the task to build an openSUSE ppc distribution.

This essentially made the openSUSE PowerPC port a community effort. Stephan Kulow clarified what this required from the community:

We have powerpc.opensuse.org to host it and build.opensuse.org will happily build the ISOs for you. But we need people to fix bugs and to test on a regular base the installation system and use factory on power to find power specific issues.

More than half a year later, no one seems to have picked up development and maintenance of the PowerPC port. OpenSUSE has still a POWER@SUSE wiki page with some general information. This page states that Novell is still planning a PowerPC port for SUSE Linux Enterprise Server. OpenSUSE users can discuss PowerPC-related matters in the opensuse-ppc mailing list, but, not surprisingly, discussions died out this year.

More recently, Fedora 13 dropped official PowerPC support. More specifically, PowerPC has been moved to Fedora's secondary architectures, which means that a build failure on the PowerPC platform doesn't hold back a Fedora release. Moreover, neither Fedora nor Red Hat provide hosting space or build servers for secondary architectures.

In a response to a user's outcry, Red Hat's Tom Callaway explained the reason of the move to the secondary architectures:

The reason that PPC was dropped as a Primary Architecture was because very few people were doing this work. Many packages were being built but didn't work, many more were just not building. In addition, these build failures were preventing otherwise successful builds on x86/x86_64, which is where the majority of the Fedora userbase is. It is important to keep in mind that just because Fedora won't automatically do a PPC release for Fedora 13 and beyond does _NOT_ mean that there will not be a PPC release for Fedora 13 and beyond. If the PPC Architecture Team does the work and makes the release, then it will happen.

In short, it's up to the community to maintain the PowerPC port of Fedora if they want it to continue, but so far they don't seem to have the necessary infrastructure. More information can be found on the fedora-ppc mailing list.

Other Linux distributions with a PowerPC port

So among the Linux distributions that dropped official PowerPC support, only Ubuntu has managed to keep it alive as a community effort. But there are still a handful of distributions with "official" PowerPC support. The most important among them is Debian. This is actually the Linux distribution that your author has been running on his PowerMac G5 for years after he ditched Mac OS X. As can be seen on the debian-powerpc mailing list, there's still a lot of activity going on in Debian PPC land.

The Debian PowerPC port began in 1997 and was first officially released with Debian GNU/Linux 2.2 ("Potato"). A completely 64-bit environment doesn't exist, though. On 64-bit processors such as the G5, Debian PPC uses a 64-bit kernel with 32-bit user space. This is because the 64-bit PowerPC processors have no "32-bit mode" like the Intel 64/AMD64 architecture. Hence, 64-bit PowerPC programs that do not need 64-bit mathematical functions will run somewhat slower than their 32-bit counterparts because 64-bit pointers and long integers consume twice as much memory, fill the CPU cache faster, and thus need more frequent memory accesses. There is, however, a Debian PPC64 port in development, offering a complete 64-bit user space for those that want it.

Gentoo Linux also has a PowerPC port, both for 32 and 64 bits. The most recent ISO image is from October 2009, while the most recent stage3 file (the Gentoo base system tarball) is from May. As can be expected from Gentoo, the project has an extensive PPC handbook and FAQ. Users that get into trouble can find help on the gentoo-ppc-users mailing list.

While Arch Linux is focused on the i686 and x86-64 architectures, there is a separate spin-off project for PowerPC machines: Arch Linux PPC. The port offers a 32-bit user space, but it has various kernels for 64-bit machines. The most recent release for which an ISO file can be downloaded is 2010.02.26 with a 2.6.33 kernel. In addition, Arch Linux PPC has a special install guide for PowerPC machines.

CRUX has the same approach: the distribution is focused on the i686 architecture, but some users wanted a PowerPC port and just made it happen: CRUX PPC. Note, however, that the team is small and development is slow. The latest release is CRUX PPC 2.6 and it dates from January. There are both 32-bit and 64-bit ISO images available. In the same style as Gentoo, CRUX PPC has an extensive handbook and FAQ, as well as a cruxppc mailing list, but it is not very active.

Another general-purpose Linux distribution that supports PowerPC is T2 SDE. The project has a small but dedicated community, and the PowerPC (32-bit and 64-bit) platform is well supported. The main developer René Rebe is using it on some of his machines. Users that want to install T2 SDE on their Mac can download the recently released minimal ISO images for T2 SDE 8.0 or build the ISO file themselves. T2 SDE is not an easy-to-use Linux distribution (it's comparable to Gentoo Linux), but your author has been testing it for some time on his PowerMac G5 and was interested by the clean source-based approach.

Yellow Dog Linux (YDL), a Linux distribution specifically developed for the PowerPC architecture, closes out the list. It is based on CentOS and uses Enlightenment as its default desktop environment, although GNOME and KDE can also be installed. Before Apple's transition to the Intel architecture, Terra Soft Solutions was the only company licensed by Apple to resell Apple computers with Linux pre-installed, so it has a history with PowerPC machines.

The latest version is 6.2, released in June 2009. Users can download a big DVD ISO image from one of the mirrors. There is a list of supported hardware, which also includes non-Apple PowerPC machines, a lot of documentation about the installation and configuration, and some HOWTOs about various topics. Meanwhile, Terra Soft Solutions has been acquired by Fixstars, which refocused its Linux distribution on high performance computing and GPU systems. So, while YDL 6.2 still supports PowerPC-based Apple machines, it's main target is now the Sony PlayStation 3 and IBM pSeries platforms.

The Power to serve

For users that don't mind leaving the Linux ecosystem, there are some other options in the BSD world. FreeBSD, OpenBSD and NetBSD all have a PowerPC port, and most of the supported software is the same as on a Linux distribution, so for most practical purposes it doesn't matter if you're running Linux or BSD.

NetBSD (the operating system with the motto "Of course it runs NetBSD") has different ports for various Power PC systems: ofppc, macppc, evbppc, mvmeppc, bebox, sandpoint, and amigappc. The relevant port for Mac Users is of course macppc, which was introduced in NetBSD 1.4.

There is a complete list of supported hardware by the NetBSD/macppc port, and there is an extensive FAQ, which includes a list of supported peripherals. The installation procedure for NetBSD/macppc is documented well to help users get NetBSD on their Mac. As for mailing lists, issues specific to NetBSD on Apple's PowerPC machines are discussed on the port-macppc mailing list, while port-powerpc is about issues relevant to all PowerPC-based NetBSD ports.

The OpenBSD/powerpc port initially supported Motorola computers, but later refocused on Apple hardware, based on code from the NetBSD/macppc port. For OpenBSD 3.0 it was renamed to OpenBSD/macppc. Support for the 64-bit G5 processor (with a 32-bit user space) was added in OpenBSD 3.9. The port's web page has an extensive list of supported hardware and peripherals, and it lists some caveats: sleep/suspend on laptops is not supported, Bluetooth and FireWire are not supported, and SATA doesn't work yet on PowerMac G5 and Xserve G5 systems. The latest OpenBSD/macppc 4.7 release has some installation instructions and users can discuss their problems on the ppc mailing list of OpenBSD.

Last but not least, FreeBSD officially supports the PowerPC port since version 7.0, although it's still a Tier 2 platform. This means that FreeBSD's security officer, release engineers, and toolchain maintainers don't fully support it yet. Nathan Whitehorn has published some installation instructions, and users can discuss matters in the freebsd-ppc mailing list.

Since FreeBSD 8.0, the PowerMac G5 and iMac G5 are supported, and the upcoming 8.1 release also supports the Xserve G5 and the late 2005 model of the PowerMac G5. Previous PowerPC Macs are already supported since version 7.0. There are some caveats, however: the current 32-bit PPC port only supports 2 GB of RAM, and 64-bit PPC support (with support for more RAM) will only be appearing in FreeBSD 9.

Conclusion

While at first sight PowerPC seems to be a dying platform, there's actually still a lot of choice for users that want to run a free operating system on their aged Mac. In the last 10 years, your author has prolonged the life of two PowerPC-based Macs by swapping Mac OS X for a Linux distribution: one time Gentoo Linux, the other time Debian. These are also the two distributions that seem to have the best PowerPC support while still being all-round enough and having a community that is big enough to be of any help. For more adventurous users, there are a lot of other options, with the source-based T2 SDE or NetBSD as notable examples.


Index entries for this article
GuestArticlesVervloesem, Koen


to post comments

Linux on PowerPC

Posted Jul 15, 2010 2:29 UTC (Thu) by mmcgrath (guest, #44906) [Link]

> In short, it's up to the community to maintain the PowerPC port of Fedora if they want it to continue, but so far they don't seem to have the necessary infrastructure.

It's not there now but should be fairly soon. jwb's got some hardware getting delivered to us which should put all the tools in place. If you're a PPC user / developer, get on the list and get ready to open the floodgates.

Linux on PowerPC

Posted Jul 15, 2010 3:42 UTC (Thu) by rbrito (guest, #66188) [Link] (1 responses)

Some work on the Debian PowerPC is being made, though slowly.

I have been skimming the debian-powerpc mailing list, trying to help with my limited knowledge, but of course, we could use some help.

Right now, it seems that one of the biggest problems regarding the distribution is to get some machines (e.g., the New World powermacs) with a proper bootloader, as the version of yaboot that is in Debian was last updated in 2006.

Some people have been trying the GRUB2 bootloader on these machines and it works to some extent (but it is still not close to having everything automated and ready to become the default bootloader on New World powermacs). [1] I don't have familiarity with IBM powerpc boxes, though.

That doesn't cover the other powerpc systems that need to use some lesser-known bootloaders like miboot, quik, BootX, or uBoot (the first 3 for Old World macs and the latter for embedded powerpc devices---of which I have a lovely KuroboxHD NAS, kindly donated by a fellow Debian Developer).

Another problem is getting X to work without problems. [2][3] I hope to do some extra work during this year's DebConf 10. That being said, Linux runs very well even on weak hardware, by today's standards. [4][5]

Regards.

[1] http://lists.debian.org/debian-powerpc/2010/07/msg00051.html
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=544418
[3] http://lists.debian.org/debian-powerpc/2010/07/msg00023.html
[4] http://rb.doesntexist.org/linux/lshw-kuro-hd.html
[5] http://rb.doesntexist.org/blog/2010/05/11/simple-annotati...

Linux on PowerPC

Posted Jul 23, 2010 8:31 UTC (Fri) by yareckon (guest, #69211) [Link]

Fortunately yaboot is rock solid. I have a mac mini that has been booting into debian sid flawelessly for three years. Would be nice if standard linux installers supported the weird ass mac disk partitioning and bios environment tho.

Linux on PowerPC

Posted Jul 15, 2010 8:22 UTC (Thu) by Sho (guest, #8956) [Link]

Hm, I'm hoping next week's LWN Security page will have the skinny on the means LWN uses to read its readers' minds: Just last week I was thinking I'd like to read a survey of PowerPC support in distros.

Linux on PowerPC

Posted Jul 15, 2010 9:15 UTC (Thu) by janfrode (guest, #244) [Link] (7 responses)

What about RHEL? Afaik they have a ppc version. Is it usable on desktop macs, or only for IBM POWER machines?

Linux on PowerPC

Posted Jul 16, 2010 18:32 UTC (Fri) by giraffedata (guest, #1954) [Link] (6 responses)

What about RHEL? Afaik they have a ppc version. Is it usable on desktop macs, or only for IBM POWER machines?

I was wondering the same thing. I notice that the list of distributions available for ppc doesn't include SLES, even though the article mentions in passing elsewhere that SLES has a ppc version. So I assume commercial distributions just aren't within the article's scope, like non-desktop machines aren't.

But I assume the commercial versions meant for servers work fine on desktops.

Linux on PowerPC

Posted Jul 16, 2010 22:42 UTC (Fri) by smoogen (subscriber, #97) [Link] (5 responses)

When looking at this from a CentOS point of view, the RHEL PowerPC port is not meant for Macintosh systems. It is 64 bit for IBM pSeries systems which are a completely different beast.

Linux on PowerPC

Posted Jul 16, 2010 23:13 UTC (Fri) by mjg59 (subscriber, #23239) [Link]

The userspace should match up pretty well, especially for the G5s. The most significant problem would be supporting the kernel.

RHEL 6 on the PowerPC?

Posted Jul 17, 2010 17:34 UTC (Sat) by dowdle (subscriber, #659) [Link] (2 responses)

Someone just asked about PowerPC support on the RHEL6 beta mailing list and I replied back with a subscriber link to this article. I assumed that the PowerPC would not be supported in RHEL 6 but it appears that is not the case as they have come out with a PPC release of RHEL 6 beta.

As mentioned it is only for server hardware, primarily the IBM pSeries.

See this post for more info:
https://www.redhat.com/archives/rhelv6-beta-list/2010-July/msg00118.html

RHEL 6 on the PowerPC?

Posted Jul 17, 2010 18:06 UTC (Sat) by giraffedata (guest, #1954) [Link] (1 responses)

Well, I'm confused about the multiple faces of PowerPC. If it takes different code to run on a Macintosh and an IBM System P, how come the distributions (and kernel arch) have always just been called "powerpc" instead of "macintosh" and "ibmp"?

Or is Red Hat just making a statement about what it's willing to fix problems on?

(BTW, IBM renamed the product line in question from "eServer pSeries" to "System P" in 2005, reflecting its admission that the four series of eServer were really separate product lines. In 2000, IBM created the eServer brand in an attempt to present the image that its four lines of computers (previously called System/390, AS/400, RS-6000 and NetVista or something for the x86 machines) were really just one.)

RHEL 6 on the PowerPC?

Posted Jul 18, 2010 1:03 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link]

Red Hat supports certain set of packages in a server product for PPC and does not have a PPC client release for RHEL 6. The demand for client PPC systems were already low in previous releases and has gone down even further recently.

Linux on PowerPC

Posted Jul 23, 2010 18:23 UTC (Fri) by ppcaddon (guest, #69221) [Link]

ibm pseries tool are available on CRUX PPC and Gentoo PPC.

Linux on PowerPC

Posted Jul 15, 2010 9:58 UTC (Thu) by alexbk (subscriber, #37839) [Link] (1 responses)

Perhaps it should be noted that Apple's OS X is nowhere near unsupported on PPC: security updates for 10.5 are still produced, and latest versions of iTunes and Safari are still available. 10.6 is Intel only.

While Apple does not have an official support policy with expiration dates (I find it rather weird that nobody is bothered by this), the unofficial rule seems to be that version n stops being supported (as in "security updates quietly stop flowing in") shortly after version n+2 is released. 10.7 is not even pre-announced yet.

I find OS X a more realistic choice for extending the life of Apple's PPC hardware: to keep Linux running on such hardware you need to do continuous beta (and sometimes alpha) testing as my experience with Fedora PPC shows. Needless to say, hardware support is far better in OS X too.

Linux on PowerPC

Posted Jul 15, 2010 10:50 UTC (Thu) by marcH (subscriber, #57642) [Link]

> Perhaps it should be noted that Apple's OS X is nowhere near unsupported on PPC: security updates for 10.5 are still produced, [...] 10.6 is Intel only.

Except it is practically impossible to find 10.5 or a 10.5 upgrade to buy. While 10.5 (the last PPC version) is quickly becoming a minimum requirement for running third party software.

So it does not look like well supported to me.

Linux on PowerPC

Posted Jul 15, 2010 10:57 UTC (Thu) by Yorick (guest, #19241) [Link] (5 responses)

This is because the 64-bit PowerPC processors have no "32-bit mode" like the Intel 64/AMD64 architecture. Hence, 64-bit PowerPC programs that do not need 64-bit mathematical functions will run somewhat slower than their 32-bit counterparts because 64-bit pointers and long integers consume twice as much memory, fill the CPU cache faster, and thus need more frequent memory accesses.

PowerPC processors do have 32 and 64 bit modes, but in contrast to x86, the 32-bit mode is not restricted to fewer or smaller registers, so the only benefit of running something in 64-bit mode is the larger address space. "64-bit mathematical functions" have nothing to do with it; a 32-bit process can use 64-bit operations and registers.

Linux on PowerPC

Posted Jul 15, 2010 14:29 UTC (Thu) by nix (subscriber, #2304) [Link]

In this it is just like SPARC64, MIPS64, and indeed every 64-bit processor other than x86-64, as they didn't have decades of horrific baggage to drop like x86 did.

Linux on PowerPC

Posted Jul 15, 2010 18:14 UTC (Thu) by klossner (subscriber, #30046) [Link] (3 responses)

There's no mode bit in the hardware. The 32-bit ISA is just a subset of the 64-bit. Code that restricts itself to the 32-bit ISA can access only the low 32 bits of the integer registers.

The conflict is between the two ABIs. An object file compiled to use the 32-bit ABI will not inter-operate with one for the 64-bit ABI because, for example, it passes 64-bit function arguments in two registers instead of one.

Linux on PowerPC

Posted Jul 15, 2010 18:52 UTC (Thu) by Yorick (guest, #19241) [Link] (2 responses)

There's no mode bit in the hardware.

Yes there is (MSR[SF]). It mainly masks the upper 32 bits of the effective address, but also affects certain overflow and carry calculations.

The 32-bit ISA is just a subset of the 64-bit. Code that restricts itself to the 32-bit ISA can access only the low 32 bits of the integer registers.

That is correct, in that the 32-bit subset cannot "see" the upper bits, but it can change them. And, of course, a process in 32-bit mode can use the full 64-bit instruction set.

Linux on PowerPC

Posted Jul 19, 2010 17:31 UTC (Mon) by jengelh (subscriber, #33263) [Link] (1 responses)

>That is correct, in that the 32-bit subset cannot "see" the upper bits, but it can change them. And, of course, a process in 32-bit mode can use the full 64-bit instruction set.

On RISCs perhaps (SPARC: ldx), but unlikely on x86, or how would you invoke movq rax, rbx from an ELF32 on Linux?

Linux on PowerPC

Posted Jul 20, 2010 22:26 UTC (Tue) by Yorick (guest, #19241) [Link]

On RISCs perhaps (SPARC: ldx), but unlikely on x86, or how would you invoke movq rax, rbx from an ELF32 on Linux?

It was PowerPC that was under discussion.

Linux on PowerPC

Posted Jul 15, 2010 14:59 UTC (Thu) by dwmw2 (subscriber, #2063) [Link] (1 responses)

"The reason that PPC was dropped as a Primary Architecture was because very few people were doing this work. Many packages were being built but didn't work, many more were just not building."
This was never true. There were occasional build failures, and it was easy enough for the packager to file a bug, exclude the offending architecture from the build, and move on. Most of the time when we investigated those failures they turned out to be generic issues rather than really architecture-specific issues anyway; they just happened to bite on one architecture first due to the phase of the moon.

I believe the biggest issue was from the QA team who objected to to the extra workload of spinning and testing the images — the packages themselves really weren't the problem.

Linux on PowerPC

Posted Jul 16, 2010 15:57 UTC (Fri) by marcH (subscriber, #57642) [Link]

Thanks for this welcome explanation. I could not believe that endianness was still a real problem in this day and age.

(bootloaders is of course another story).

Linux on PowerPC

Posted Jul 15, 2010 23:07 UTC (Thu) by kenmoffat (subscriber, #4807) [Link]

As a desktop, the platform does indeed appear to have joined the choir invisibule.

Meanwhile, those of us who have this much-missed hardware can continue to roll our own until it eventually gives up the ghost.

ken, using something close to linux-from-scratch v6.6 on ppc32 (laptop) and still working out what to do for that noisy, hot, and slow ppc64 box that sits in the corner.

Linux on PowerPC

Posted Jul 23, 2010 17:02 UTC (Fri) by ppcaddon (guest, #69221) [Link]

i'm a quite happy linux on powerpc users. I use to run CRUX PPC as my favourite distro on apple g4 and g5 and an old power4 workstation.
Their development team is small but they are always available to help you on cruxppc forum.

Linux on PowerPC or perhaps the Cell CPU?

Posted Jul 25, 2010 18:47 UTC (Sun) by shapr (subscriber, #9077) [Link] (1 responses)

I have a bunch of QS20 blades in a BladeCenter, they're running the latest yellow dog linux, but I'd like to if there's a better choice?

This is a home box purely for fun, so I can't afford to buy something.

Linux on PowerPC or perhaps the Cell CPU?

Posted Jul 27, 2010 0:48 UTC (Tue) by ppcaddon (guest, #69221) [Link]

wow, really nice cluster/machines.
I suppose there isn't a great choice 'cause distributions support for CellBE is targeted to PS3 machines.

My preferred gnu/linux distro, the CRUX PPC, doesn't support Cell based (thay don't have one).


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds