Linux: It's Not Just for Intel Anymore

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.

cross-tools consist of at least a compiler and
binary utilities (as, ar, ld) that produce executables for the new
machine + operating system combination.

merged source refers to integration of the port
with Linus' kernel source.

simulator is a program that pretends to be the new
hardware so new executables can be run and debugged.

boot is the few hundred words of native assemble
code that checks, and may set up the hardware before beginning to
load the kernel. The port is done once that code stops
changing.

kernel refers to the minimum operating software
needed to start a user shell. It includes memory management,
process scheduling, rudimentary device drivers and at least one
file system.

runs shell includes the capability of running the
basic Linux command line utilities.

native tools are the result of using the
cross-tools to cross themselves to the new machine + OS.

SDK means the newly ported Linux can compile a
working copy of itself from scratch, completely stand-alone.

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.

More hardware-dependent device drivers are needed.
The Kernel Hackers Guide needs to be updated for the 680x0 with
special emphasis on memory management.

Linux/68k runs a beta-quality 680x0 Linux kernel on
two makers' platforms, a number of file systems, shells, and some
utilities. There is no X-windowing yet, though work on it is
progressing. Full native development is possible using the
specially contributed tools.

The Amiga and the Atari ports were merged so
successfully that the same kernel image (the vmlinux from tsx-11)
runs on both machines. Another advantage of this is that all user
program binaries should work on any machine running Linux/68k if
only hardware-independent devices are used. These devices include
ramdisk, mem, pty, tty, vt, slip, net/inet, and general SCSI stuff.
These file systems have been ported: minix, ext2, msdos, proc,
isofs, nfs.

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.

Trending Topics

Webinar: 8 Signs You’re Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th

Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.