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, firstname.lastname@example.org
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.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- RSS Feeds
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Designing Electronics with Linux
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Validate an E-Mail Address with PHP, the Right Way
- What's the tweeting protocol?
- Kernel Problem
4 hours 37 min ago
- BASH script to log IPs on public web server
9 hours 4 min ago
12 hours 40 min ago
- Reply to comment | Linux Journal
13 hours 12 min ago
- All the articles you talked
15 hours 36 min ago
- All the articles you talked
15 hours 39 min ago
- All the articles you talked
15 hours 41 min ago
20 hours 5 min ago
- Keeping track of IP address
21 hours 56 min ago
- Roll your own dynamic dns
1 day 3 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?