Linux Information Sheet: Hardware Issues

## 3. Hardware Issues

## 3.1 Minimal configuration

The following is probably the smallest possible configuration that Linux will work on: 386SX/16, 1 MB RAM, 1.44 MB or 1.2 MB floppy, any supported video card (+ keyboards, monitors, and so on of course). This should allow you to boot and test whether it works at all on the machine, but you won't be able to do anything useful. See http://rsphy1.anu.edu.au/~gpg109/mem.html for minimal Linux configurations

In order to do something, you will want some hard disk space as well, 5 to 10 MB should suffice for a very minimal setup (with only the most important commands and perhaps one or two small applications installed, like, say, a terminal program). This is still very, very limited, and very uncomfortable, as it doesn't leave enough room to do just about anything, unless your applications are quite limited. It's generally not recommended for anything but testing if things work, and of course to be able to brag about small resource requirements.

## 3.2 Usable configuration

If you are going to run computationally intensive programs, such as gcc, X, and TeX, you will probably want a faster processor than a 386SX/16, but even that should suffice if you are patient.

In practice, you need at least 4 MB of RAM if you don't use X, and 8 MB if you do. Also, if you want to have several users at a time, or run several large programs (compilations for example) at a time, you may want more than 4 MB of memory. It will still work with a smaller amount of memory (should work even with 2 MB), but it will use virtual memory (using the hard drive as slow memory) and that will be so slow as to be unusable.

The amount of hard disk you need depends on what software you want to install. The normal basic set of Unix utilities, shells, and administrative programs should be comfortable in less than 10 MB, with a bit of room to spare for user files. For a more complete system, get Red Hat, Debian, Slackware, or another distribution, and assume that you will need 60 to 200 MB, depending on what you choose to install and what distribution you get. Add whatever space you want to reserve for user files to these totals. With today's prices on hard drives, if you are buying a new system, it makes no sense to buy a drive that is too small. Get at least 500 MB, preferably 1GB or more, and you will not regret it.

Add more memory, more hard disk, a faster processor and other stuff depending on your needs, wishes and budget to go beyond the merely usable. In general, one big difference from DOS is that with Linux, adding memory makes a large difference, whereas with dos, extra memory doesn't make that much difference. This of course has something to do with DOS's 640KB limit, which is completely nonexistent under Linux.

## 3.3 Supported hardware

CPU:

  Anything that runs 386 protected mode programs (all models of 386's 486's, 586's, and 686's should work. 286s and below may someday be supported on a smaller kernel called ELKS (Embeddable Linux Kernel Subset), but don't expect the same capabilities. A version for the 680x0 CPU (for x = 2 with external MMU, 3, 4, and 6) which runs on Amigas and Ataris can be found at tsx-11.mit.edu in the 680x0 directory. Many DEC Alphas are supported. Some Sparcs are now supported. Ports are also being done to the PowerPC, ARM, and MIPS architectures. More details are available elsewhere.

Architecture:

  ISA or EISA bus. MCA (mostly true blue PS/2's) support is incomplete (see above). Local busses (VLB and PCI) work. Linux puts higher demands on hardware than DOS, Windows, and in fact most operating systems. This means that some marginal hardware that doesn't fail when running less demanding operating system may fail when running Linux. Linux is an excellent memory tester...

RAM:

  Theoretically up to 1 GB; more on 64-bit platforms. This has not been tested. (If you test it, tell me!) Some people (including Linus) have noted that adding ram without adding more cache at the same time has slowed down their machine extremely, so if you add memory and find your machine slower, try adding more cache. Over 64MB will require a boot-time parameter, as the BIOS cannot report more than 64MB, because it is ``broken as designed.''

Data storage:

  Generic AT drives (EIDE, IDE, 16 bit HD controllers with MFM or RLL, or ESDI) are supported, as are SCSI hard disks and CD-ROMs, with a supported SCSI adaptor. Generic XT controllers (8 bit controllers with MFM or RLL) are also supported. Supported SCSI adaptors: Adaptec 1542, 1522, 1740, 27xx, and 29xx series, Buslogic controllers (except Flashpoint), NCR53c810-based controllers, DPT controllers, Seagate ST-01 and ST-02, Future Domain TMC-88x series (or any board based on the TMC950 chip) and TMC1660/1680, Ultrastor 14F, 24F and 34F, Western Digital wd7000, and others. SCSI, QIC-02, and some QIC-80 tapes are also supported. Several CD-ROM devices are also supported, including Matsushita/Panasonic, Mitsumi, Sony, Soundblaster, Toshiba, ATAPI (EIDE), SCSI, and others. For exact models, check the hardware compatibility HOWTO.

Video:

  VGA, EGA, CGA, or Hercules (and compatibles) work in text mode. For graphics and X, there is support for (at least) normal VGA, some super-VGA cards (most of the cards based on ET3000, ET4000, Paradise, and some Trident chipsets), S3, 8514/A, ATI MACH8, ATI MACH32, and hercules. (Linux uses the Xfree86 X server, so that determines what cards are supported.)

Networking:

  Western Digital 80x3, ne1000, ne2000, 3com503, 3com509, 3com589 PCMCIA, Allied Telliesis AT1500, most LANCE boards, d-link pocket adaptors, PPP, SLIP, CSLIP, PLIP (Parallel Link IP), and many more.

Serial:

  Most 16450 and 16550 UART-based boards, including AST Fourport, the Usenet Serial Card II, and others. Intelligent boards supported include Cyclades Cyclom series (supported by the manufacturer), Comtrol Rocketport series (supported by the manufacturer), Stallion (most boards; supported by the manufacturer), and Digi (some boards; not manufacturer-supported). Some ISDN, frame relay, and leased line hardware is supported.

Other hardware:

  SoundBlaster, ProAudio Spectrum 16, Gravis Ultrasound, most other sound cards, most (all?) flavours of bus mice (Microsoft, Logitech, PS/2), etc.