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.
user apps consist of text processing, e-mail, alternate shells and file systems, more device drivers, really a complete character-oriented Linux. In short, everything except X-Windows.
X-Windows adds a standard graphical user interface.
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.
Linux/68k is a port of Linux to Amiga and Atari 680x0 platforms having hardware memory management and floating point support.
FAQ Access:pfah.informatik.unikl.de:8000/pers/jmayer/linux68k-faq ftp://tsx-11.mit.edu/pub/linux/680x0/FAQ (or any tsx-11 mirror)
FAQ Maintainer:Joerg Mayer, email@example.com
Source Access: www-users.informatik.rwth-aachen.de/~hn/linux68k.html http://src.doc.ic.ac.uk/packages/Linux/tsx-11-mirror/680x0/ ftp://tsx-11.mit.edu/pub/linux/680x0ftp://ftp.germany.eu.net/pub/os/Linux/Mirror.SunSITE/ftp://src.doc.ic.ac.uk/computing/operating-systems/Linux/tsx-11-mirror/680x0/
Supported Platforms:Amiga-A3000, A3000T, and A4000/40 (but not the A4000/30)Atari-Falcon (plus FPU), TTMac—no information available
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.
- Let's Go to Mars with Martian Lander
- Applied Expert Systems, Inc.'s CleverView for TCP/IP on Linux
- VMware's Clarity Design System
- My Childhood in a Cigar Box
- Papa's Got a Brand New NAS
- Rogue Wave Software's TotalView for HPC and CodeDynamics
- Panther MPC, Inc.'s Panther Alpha
- Jetico's BestCrypt Container Encryption for Linux
- GENIVI Alliance's GENIVI Vehicle Simulator