This topic was published by Test Dummy and viewed 1413 times since "". The last page revision was "".
- Topics - 11
The content of this article is copyrighted by Jörg Mayer (1995-1996) and Chris Lawrence (1997-1999). Licensing may be arranged with Chris Lawrence.
This FAQ may be freely redistributed under the terms of the GNU General Public License, version 2 (or at your discretion, any later version of that license).
This article outlines some of the requirements for running Linux on m68k hardware.
NOTE: m68k = Motorola 680x0-based systems
If you want to do much more than just boot Linux/m68k you will need 60 MB or more of free space on your hard disk and a supported hard disk controller. Add another 20 MB of disk space to the base requirements to use X.
In addition, you'll need some swap space. Any amount will do (and you will need less if you have more RAM). 16 MB of swap space is a fairly reasonable size for most systems; the kernel is limited to using 128 MB of swap space.
Due to the general law that your files will expand and multiply to fill your available disk space, I recommend getting the largest disk you can afford (and your system can handle reliably).
You need a Motorola 680x0 processor with a programmable memory management unit (PMMU). There is no way to run Linux/m68k without one. This reduces the list of possible processors to 68020+68851, 68030, 68040, 68LC040, and 68060. This list of processors excludes the 68000, 68HC000, 68008, 68010, 68EC020, 68EC030, and 68EC040. It also excludes the CPU32 processors (683x0 series) and the ColdFire processor. Linux/m68k can never run on these processors as they lack a PMMU and an interface for an external one (some 68EC030s do have a functioning PMMU and will run Linux; however, their long-term reliability is questionable since Motorola never tested the PMMU). Consequently, all Linux/m68k software is compiled for 68020 or higher CPUs.
Having said this, there has been an effort to create a Linux port that does not require an MMU; it's called uClinux (or Microcontroller Linux), and apparently does what it does quite well, but it is limited in that it can't support virtual memory or memory protection. uClinux and Linux/m68k binaries are not interchangeable. You can learn more about uClinux at Paul Coene's site.
If you can't figure out whether your computer has the "right" processor built-in, please see the next section of the FAQ.
At the moment, current versions of Linux/m68k require a FPU (floating point unit) to run. While there is some unsupported code that attempts to emulate the FPU, it is not reliable and its use is highly discouraged. If you have a 68020 or 68030, you need a 68881 or 68882 co-processor as well; if you have a 68040 or 68060, you need the full version of the CPU (not the EC or LC version). So until the new FPU emulator is released, the following CPUs (listed by their full Motorola part number) are the only CPUs that support Linux/m68k:
- MC68020 + MC68851 MMU + separate FPU (MC68881/MC68882)
- MC68030 + separate FPU (MC68881/MC68882)
It is possible (but very difficult) to boot Linux/m68k with as little as 2 MB. Now you know that the kernel works on your system: that's it. If you want to work with it you should have at least 4 MB (8 MB is probably the working minimum if you want to run an X display on your machine); booting from most ramdisks will require at least 5 MB.
NOTE: On the Amiga, only the size of your Fast RAM is relevant. The Chip RAM is only used internally for graphics, sound and floppy data; it is not used by normal programs.
- Amiga: To run "amiboot" (i.e. to boot Linux), you need AmigaOS 2.0 or higher (expansion.library V36 or later). amiboot works with SetPatch and RsrvMem (part of Emplant) running. Additionally, you can start amiboot with VMM running (see the section called Amiboot dies when I start it with VMM running in Chapter 8 for how to do this). On a 68060, you will probably need the 68060 libraries that came with your CPU card installed as well. Amiga LILO may have different requirements; consult its documentation.
- Atari: You need some version of TOS available to boot the system.
- Macintosh: A minimal copy of System 6.0.X, System 7.X or Mac OS 8.X is required to boot the Mac. After the Mac boots, the Penguin application is run to load Linux/m68k and boot it.
Unsupported 680x0 Hardware
There is currently no Linux/m68k port for several 680x0 based computers that would be able to run Linux. The reason for this is rather simple: Nobody has written it. The reasons for that are many: The people who already have most/all of the knowledge on the Linux side of the port are usually busy maintaining/improving one of the existing ports. Another quite common reason is that no or only insufficient documentation on the hardware of that platform exists. Sun 3s are an even more special case: Unlike all other machines mentioned here, they don't use Motorola MMUs (except the Sun 3/80, which uses a 68030).
The user "Test Dummy" (@testdummy & 87535) is an account used by the admins to run tests or anonymously post on another's behalf.