This section contains information about what hardware you need to get started with Debian. You will also find links to further information about hardware supported by GNU and Linux.
Debian does not impose hardware requirements beyond the requirements
of the Linux kernel and the GNU tool-sets. Therefore, any
architecture or platform to which the Linux kernel, libc,
gcc, etc. have been ported, and for which a Debian port
exists, can run Debian.
There are, however, some limitations in our boot floppy set with respect to supported hardware. Some Linux-supported platforms might not be directly supported by our boot floppies. If this is the case, you may have to create a custom rescue disk, or investigate network installations.
Rather than attempting to describe all the different hardware configurations which are supported for Intel x86, this section contains general information and pointers to where additional information can be found.
Debian 2.1 supports four architectures: Intel x86-based architectures; Motorola 680x0 machines such as Atari, Amiga, and Macintoshes; DEC Alpha machines; and Sun SPARC machines. These are referred to as i386, m68k, alpha, and sparc, respectively.
This document covers installation for the i386 architecture. Separate versions of this document exist for other architectures.
Complete information concerning supported peripherals can be found at
Linux Hardware Compatibility HOWTO. This section merely outlines the basics.
Nearly all x86-based processors are supported; this includes AMD and Cyrix processors as well. However, Linux will not run on 286 or earlier processors.
The system bus is the part of the motherboard which allows the CPU to communicate with peripherals such as storage devices. Your computer must use the ISA, EISA, PCI, the Microchannel Architecture (MCA, used in IBM's PS/2 line), or VESA Local Bus (VLB, sometimes called the VL bus).
Laptops are also supported. Laptops are often specialized or contain
proprietary hardware. To see if your particular laptop works well
with GNU/Linux, see the
Linux Laptop pages.
You should be using a VGA-compatible display interface for the console terminal. Nearly every modern display card is compatible with VGA. Ancient standards such CGA, MDA, or HGA should also work, assuming you do not require X11 support. Note that X11 is not used during the installation process described in this document.
Debian's support for graphical interfaces is determined by the
underlying support found in XFree86's X11 system. The newer AGP video
slots are actually a modification on the PCI specification, and most
AGP video cards work under XFree86. Details on supported graphics
buses, cards, monitors, and pointing devices can be found at
http://www.xfree86.org/. Debian 2.1 ships with X11 revision
Multi-processor support -- also called ``symmetric multi-processing'' or SMP -- is supported for this architecture. However, the standard Debian 2.1 kernel image does not support SMP. This should not prevent installation, since the standard, non-SMP kernel should boot on SMP systems; the kernel will simply use the first CPU.
In order to take advantage of multiple processors, you'll have to
replace the standard Debian kernel. You can find a discussion of how
to do this in Compiling a New Kernel, Section 8.4. At this time (kernel version
2.0.36) the way you enable SMP is to edit the top-level
Makefile for the kernel and uncomment the line that says SMP =
1. If you compile software on a multiprocessor system, look for
the -j flag in the documentation on
There are four different media which can be used to install Debian: floppies, CD-ROMs, local disk partitions, or the network. Different parts of the same Debian installation can mix and match these options; we'll go into that in Methods for Installing Debian, Chapter 5.
Floppy disk installation is a common option, although generally, the least desirable. In many cases, you'll have to do your first boot from floppies, using the Rescue Floppy. Generally, all you will need is a high-density (1440 kilobytes) 3.5 inch floppy drive. Double-density, 5.25 inch installation floppies (1200 k) are also provided.
CD-ROM based installation is also supported for some architectures. On machines which support bootable CD-ROMs, you should be able to do a completely floppy-less installation. Even if your system doesn't support booting from a CD-ROM, you can use the CD-ROM in conjunction with the other techniques to install your system, once you've booted up by other means; see Installing from a CD-ROM, Section 5.4.
Both SCSI and IDE/ATAPI CD-ROMs are supported. In
addition, all non-standard CD interfaces supported by Linux are
supported by the boot disks (such as Mitsumi and Matsushita drives).
However, these models might require special boot parameters or other
massaging to get them to work, and booting off these non-standard
interfaces is unlikely. The
Linux CD-ROM HOWTO contains in-depth information on using CD-ROMs with
Installation from local disk is another option. If you have free space on partitions other than the partitions you're installing to, this is definitely a good option. Some platforms even have local installers, i.e., for booting from AmigaOS, TOS, or MacOS.
The last option is network installation. You can install your system via NFS. After your base system is installed, you can install the rest of your system via any sort of network connection (including PPP), via FTP, HTTP, or NFS.
More complete descriptions of these methods, and helpful hints for picking which method is best for you, can be found in Methods for Installing Debian, Chapter 5. Please be sure to continue reading to make sure the device you intend to boot and install from is supported by the Debian installation system.
The Debian boot disks contain a kernel which is built to maximize the number of systems it runs on. Unfortunately, this makes for a larger kernel, with a lot of drivers which will never be used (see Compiling a New Kernel, Section 8.4 to learn how to build your own). However, support for the widest possible range of devices is desirable in order to ensure that Debian can be installed on the widest array of hardware.
Generally, the Debian installation system includes support for floppies, IDE drives, IDE floppies, parallel port IDE devices, SCSI controllers and drives. The file systems supported include MINIX, FAT, Win-32 FAT extensions (VFAT), among others (note that NTFS is not supported by the installation system; you can add it later, as described in Compiling a New Kernel, Section 8.4).
Rather than attempting to describe the supported hardware, it is much easier to describe the Linux supported hardware which is not supported by the Debian boot system.
The disk interfaces that emulate the ``AT'' hard disk interface which
are often called MFM, RLL, IDE, or ATA are supported. Very old 8 bit
hard disk controllers used in the IBM XT computer are supported only
as a module. SCSI disk controllers from many different manufacturers
are supported. See the
Linux Hardware Compatibility HOWTO for more details.
Not supported are IDE SCSI drives and some SCSI controllers, including
You must have at least 4MB of memory and 35MB of hard disk. If you want to install a reasonable amount of software, including the X Window System, and some development programs and libraries, you'll need at least 300MB. For a more or less complete installation, you'll need around 800MB. To install everything available in Debian, you'll probably need around 2 GB. Actually, installing everything doesn't even make sense, since some packages conflict with others.
Linux supports a large variety of hardware devices such as mice,
printers, scanners, modems, network cards, PCMCIA devices,
etc. However, none of these devices are required while installing the
system. This section contains information about peripherals
specifically not supported by the installation system, even
though they may be supported by Linux.
Again, see the
Linux Hardware Compatibility HOWTO to determine whether your specific hardware is
supported by Linux.
Some network interface cards (NICs) are not supported by the Debian
installation disks (although a custom Linux kernel can use them), such
as AX.25 cards and protocols; 3Com EtherLink Plus (3c505) and
EtherLink16 (3c507); NI5210 cards; generic NE2100 cards; NI6510 and
NI16510 EtherBlaster cards; SEEQ 8005 cards; Schneider & Koch G16
cards; Ansel Communications EISA 3200; and the Zenith Z-Note built-in
network card. Microchannel (MCA) network cards are not supported by
the standard installation system, but see
Linux on MCA disk images for unofficial images, and the
Linux MCA discussion archives.
FDDI networks are also not supported by the installation disks, both
cards and protocols.
As for ISDN, the D-channel protocol for German 1TR6 is not supported; Spellcaster BRI ISDN boards are also not supported by the boot-floppies.
Sound devices are not supported by default.
There are several vendors, now, who ship systems with Debian or other
distributions of GNU/Linux pre-installed. You might pay more for the
privilege, but it does buy a level of peace of mind, since you can be
sure that the hardware is well-supported by GNU/Linux. If you do have to buy a
machine with Windows bundled, carefully read the software license that
comes with Windows; you may be able to reject the license and obtain a
rebate from your vendor. See
Whether or not you are purchasing a system with Linux bundled, or even a used system, it is still important to check that your hardware is supported by the Linux kernel. Check if your hardware is listed in the references found above. Let your salesperson (if any) know that you're shopping for a Linux system. Support Linux-friendly hardware vendors.
Some hardware manufacturers simply won't tell us how to write drivers for their hardware. Others won't allow us access to the documentation without a non-disclosure agreement that would prevent us from releasing the Linux source code. One example is the IBM laptop DSP sound system used in recent ThinkPad systems -- some of these systems also couple the sound system to the modem. Another example is the proprietary hardware in the older Macintosh line.
Since we haven't been granted access to the documentation on these devices, they simply won't work under Linux. You can help by asking the manufacturers of such hardware to release the documentation. If enough people ask, they will realize that the free software community is an important market.
A disturbing trend is the proliferation of Windows-specific modems and printers. In some cases these are specially designed to be operated by the Microsoft Windows operating system and bear the legend ``WinModem'' or ``Made especially for Windows-based computers''. This is generally done by removing the embedded processors of the hardware and shifting the work they do over to a Windows driver that is run by your computer's main CPU. This strategy makes the hardware less expensive, but the savings are often not passed on to the user and this hardware may even be more expensive than equivalent devices that retain their embedded intelligence.
You should avoid Windows-specific hardware for two reasons. The first is that the manufacturers do not generally make the resources available to write a Linux driver. Generally, the hardware and software interface to the device is proprietary, and documentation is not available without a non-disclosure agreement, if it is available at all. This precludes its being used for free software, since free software writers disclose the source code of their programs. The second reason is that when devices like these have had their embedded processors removed, the operating system must perform the work of the embedded processors, often at real-time priority, and thus the CPU is not available to run your programs while it is driving these devices. Since the typical Windows user does not multi-process as intensively as a Linux user, the manufacturers hope that the Windows user simply won't notice the burden this hardware places on their CPU. However, any multi-processing operating system, even Windows 95 or NT, suffers from degraded performance when peripheral manufacturers skimp on the embedded processing power of their hardware.
You can help this situation by encouraging these manufacturers to
release the documentation and other resources necessary for us to
program their hardware, but the best strategy is simply to avoid this
sort of hardware until it is listed as working in the
Linux Hardware Compatibility HOWTO.
If you ask for Parity RAM in a computer store, you'll probably get virtual parity memory modules instead of true parity ones. Virtual parity SIMMs can often (but not always) be distinguished because they only have one more chip than an equivalent non-parity SIMM, and that one extra chip is smaller than all the others. Virtual-parity SIMMs work exactly like non-parity memory. They can't tell you when you have a single-bit RAM error the way true-parity SIMMs do in a motherboard that implements parity. Don't ever pay more for a virtual-parity SIMM than a non-parity one. Do expect to pay a little more for true-parity SIMMs, because you are actually buying one extra bit of memory for every 8 bits.
If you want complete information on Intel x86 RAM issues, and what
is the best RAM to buy, see the
PC Hardware FAQ.