-->
Previous Table of Contents Next


Motherboard Requirements

The hardware required to set up a Linux system mirrors a typical PC installation. It starts with the motherboard, which should be an Intel 80386 or later (or one of the Intel workalikes such as AMD). Remarkably, Linux will run even on a slow 80386SX, although “slow” is the operative word whenever you try to do anything on these old systems.

For application development work, though, an 80486DX or later is recommended because of the high CPU usage of the compiler and linker. The same is true of X users, since X is a notorious CPU hog. You can compile applications on an 80386, just as you can run X on one, but the performance can sometimes deteriorate to the point of an-noyance.

Linux can make use of a floating point unit if you have one (they are built into the DX and Pentium series chips). If an FPU is not installed, Linux will provide a memory-based emulator that has reasonable performance. Either Intel or workalike add-on FPUs are supported, although some problems have been reported with third-party floating point units, such as the Weitek chip.

Linux supports ISA (Industry Standard Architecture), EISA (Extended Industry Standard Architecture), and PCI (Peripheral Component Interconnet) motherboards, but not MCA (IBM’s MicroChannel Architecture). VESA Local Bus motherboards, which allow peripheral cards direct access to the motherboard components, are also supported if you have one of these earlier units lying around.

RAM requirements vary depending on the size of the Linux system you want to run. A minimum Linux system executes quite well in 2MB, although there is a great deal of swapping involved. 4MB of RAM should be considered an effective minimum, with more memory resulting in faster performance. For development work and X users, 8MB is a good working minimum (although X functions with 4MB with a lot of swapping). Reasonable performance requires 16MB to avoid swapping.

Linux systems that will have more than one user should increase the amount of RAM. Each user’s load dictates the amount of RAM required. For example, 8MB easily supports two users, even both running X. With a third-party multiport board supporting eight users, 16MB RAM is a good choice, although they cannot run X. For X users, a good rule of thumb is 4MB per user minimum, unless the Linux machine can offload the X processing to the user’s machine in a client-server layout.

Linux uses all the available RAM in your machine. It does not impose any architectural limitations on memory as DOS and some other operating systems do. Any available memory is completely used.

To extend the amount of physical RAM on a system, a Linux swap partition is recommended. The swap space is used as a slower extension of actual memory, where data can be exchanged with physical RAM. Even with RAM-heavy systems, a swap space should be created. The size of the swap space depends on the amount of RAM on the system, the number of users, and the typical usage.

Hard Disks

Linux can run completely from a floppy with no hard disk, although it doesn’t offer a truly useful environment. Linux is designed primarily for hard disk use and supports all the common hard disk controller systems including IDE (Integrated Drive Electronics), EIDE (Extended Integrated Drive Electronics), ESDI (Enhanced Small Device Interface), RLL (Run Length Limited), and SCSI (Small Computer System Interface). Linux supports the older 8-bit original PC controllers, although most of today’s controllers are 16-bit AT or PCI designs.

Linux is not choosy about the manufacturer and type of hard disk. As a rule, if DOS can handle the drive, so can Linux. This applies to all but SCSI drives, which require special handling. However, Linux is still restricted by older PC BIOS versions which impose limitations on the number of sectors, heads, and cylinders. There is an effective 1,024KB size limit on drives with these older BIOS chips, and even some smaller drives can’t be handled properly by Linux or DOS because of BIOS problems. Some device drivers now make these drives accessible to DOS and Linux but you have to root around to find the correct driver. If you can’t find the proper driver and have one of the older BIOS chips, the BIOS will step the drive down in capacity to one of the acceptable formats, effectively removing disk space from use (for example, your brand new 8GB drive may be only a 1GB to your machine, wasting 7GB of disk space). Occasionally, you can solve these BIOS limitations by replacing the BIOS itself, although upgrades for older machines are seldom available.

SCSI devices are supported by Linux for most standard devices, but there are many different SCSI controllers and protocols on the market and not all work well with Linux. Linux does support the most common SCSI controllers, though. Some other controllers are supported with enhanced BIOS chips on the PC motherboard. A size limitation on the SCSI drives is still imposed by older BIOS versions, so a 2GB drive has only 1GB available to Linux and DOS. Other UNIX systems, such as SCO UNIX, can use the rest of the drive in most cases.

The size of disk space required by Linux depends on the parts of the operating system that are installed. A minimum effective system should be considered as 20MB, which gives enough room for the basic utilities but not X. If you want to load the entire basic Linux system, including development tools and X, you should provide at least 250MB just for the files. On top of these values, add whatever space is required for your personal files and temporary storage by Linux. A good rule of thumb is to double the space requirements.

On top of the user space, remember to leave room for the swap space. Although the swap space size depends on the purpose and use of the system, a good number to use is 40MB to 64MB.

More than one drive can be used, although a Linux partition should be placed on the first drive. If you need it, DOS and Windows must be loaded on the first drive, as well, because partitions can be placed on other drives if necessary. The number of drives supported depend on the drive controller and BIOS. IDE systems are usually limited to two drives, while EIDE can handle four drives. ESDI and RLL controllers are usually limited to two drives. SCSI controllers can handle up to seven drives per controller (15 with the newer SCSI standards), and several controllers can be located in a single system. SCSI is the most versatile (and also the most expensive) system.

Because hard disks are now inexpensive, obtaining large-capacity drives is relatively easy. Linux can share a disk with up to three other operating systems (and even more with a few tricks), so if you plan to load DOS, Windows 95, and Linux, for example, allocate enough space for each operating system when loaded.


Previous Table of Contents Next