return to first page linux journal archive
keywordscontents

Linux: It's Not Just for Intel Anymore

A Linux Port Tour

by Joseph L. Brothers

Linux isn't just for breakfast, er, Intel, anymore. Everybody loves it and wants it on their favorite processor: 680x0, Alpha, MIPS, Sparc, PowerPC. That's good, because it makes Linus happy, Linux better, life easier for Linux users, keeps commercial OS vendors on their toes, and sells a lot of hardware. It's good, too, because Linux ports to newer processor technologies help ensure the continuing viability of our favorite operating system. On the other hand, the ports could split development and lead to bugs and confusion from too many code streams. The changes necessary for portability could mean slower Linuxes for everyone. To head off these problems, Linus and the other porters are working together to take Linux beyond itsIntel-processor-based beginnings.

For those who are new to the Linux community, we should start by explaining that there is a long-standing joke about "virtual beer" in the Linux community. The "Oxford Beer Trolls" were credited for having sent "virtual beer" (money with which to buy beer, presumably) to Linus, and soon "virtual beer" meant any sort of thanks or praise. Because the phrase has become common, puns on (virtual) beer are commonplace among Linux users. Let's take a flying tour of the virtual breweries, their plumbing, hydraulic engineers and brew masters, and end with a quick tasting of the product. Let's start with the recipe. Table I lists the ingredients for each port and some notes on the process. You can see how far along each batch is.

As you examine the birthplace of each port, you may enjoy keeping track of its relative ability to intoxicate. For virtual brews, this is calibrated in BogoMips (Bogus Misleading Indication of Processor Speed). Remember, this cannot be used to compare different processors.

Note that the "Mips" along the left side of Table II refers to a RISC processor family, not a measurement of speed. Now we'll check in at each brewery to look around, meet the makers, and take the temperature of the batches. We won't spend any time with the ix86 Linux you are all familiar with. Besides, it's not a port; it's the original. On with the tour.

Name: Linux/68k

Linux/68k is a port of Linux to Amiga and Atari 680x0 platforms having hardware memory management and floating point support.

Hamish Macdonald, describing the state of things on January 4:

I've currently got a private source tree at the v1.1.61 level, I'm tracking Linus' portability changes, and have been submitting comments to him on portability-related abstractions. As time permits, I'll probably be submitting more changes to this end.

Name: Linux/Alpha

Linux/Alpha is a port of Linux V1.0 to the Digital Equipment Corp. Alpha RISC microprocessor.

Name: Linux/MIPS

Linux/MIPS is a Linux port for computers equipped with Mips R4x00 processors.

Name: Linux/Sparc

Linux/Sparc is a port of Linux to the sun4c, based on Version 7 of the Sparc architecture.

Name: Linux/PowerPC

Linux/PowerPC is a port of Linux to PowerPC processors, initially the 601 and 603.

Wrapping Up The Virtual Brewery Tour

Jim Paradis sums it up well:

Implementing ANY operating system on a new platform, is a major undertaking. It has taken dozens, if not hundreds, of programmer-years to bring the Intel version of Linux to the point where it is today. Too, while a kernel port is a significant piece of engineering, it is only a small part of porting an operating system. It is not surprising that the non-Intel versions of Linux are taking some time to appear.

You can all help yourselves to the samples we have provided. What? The glasses are empty? Of course they are, that's one of the risks in breweries like these. Good brews take time. We do hope you've enjoyed your tour of the new virtual breweries, though. And remember, when sampling RISC ports, don't hold your breath!

Joseph L. Brothers, CCP, CDP, is a Senior Software Engineer in Motorola's Wireless Data Group where he writes distributed engineering productivity software using the noweb literate programming tool. On his own time, he volunteers as the Linux/PowerPC Project's PowerStack task coordinator.