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 (see Replacing the Rescue Floppy Kernel, Section 9.3), 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.2 supports six architectures: Intel x86-based architectures; Motorola 680x0 machines such as Atari, Amiga, and Macintoshes; DEC Alpha machines; Sun SPARC machines; ARM and StrongARM machines; and some IBM/Motorola PowerPC machines, including CHRP, PowerMac and PReP machines. These are referred to as i386, m68k, alpha, sparc, arm, and powerpc, respectively.
This document covers installation for the i386 architecture. If you
look for information on other architectures take a look at the Debian-Ports
pages.
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. Also the new processors like Athlon and the K6-2 or K6-3, respectively, are supported. 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).
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.2
ships with X11 revision 3.3.6.
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
.
Multi-processor support -- also called ``symmetric multi-processing'' or SMP -- is supported for this architecture. However, the standard Debian 2.2 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.5. At this time (kernel version 2.2.19) the way you enable SMP is to
select ``symmetric multi-processing'' in the ``General'' section of the kernel
config. If you compile software on a multiprocessor system, look for the
-j flag in the documentation on make(1)
.
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 Booting and/or Installing from a CD-ROM, Section 6.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 Linux.
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 base system via HTTP or NFS. Diskless installation, using network booting and NFS-mounting of all local filesystems, is another option -- you'll probably need at least 16MB of RAM for this option. 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.5 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.5).
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 12MB of memory and 64MB 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 the (old) German 1TR6 is not supported; Spellcaster BRI ISDN boards are also not supported by the boot-floppies.
Sound devices are not supported by default. But as already mentioned above: if you want to use an own kernel please go to Compiling a New Kernel, Section 8.5 for further information.
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 http://www.linuxmall.com/refund/
for complete details.
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
.