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. Please refer to the Ports pages at
http://www.debian.org/ports/i386/
for more details on i386 architecture systems which have been tested with
Debian.
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 3.0 supports eleven major architectures and several variations of each architecture known as 'flavors'.
Architecture | Debian Designation / Flavor ---------------------+---------------------------- Intel x86-based | i386 | - vanilla | - idepci | - compact | - bf2.4 (experimental) | Motorola 680x0: | m68k - Atari | - atari - Amiga | - amiga - 68k Macintosh | - mac - VME | - bvme6000 | - mvme147 | - mvme16x | DEC Alpha | alpha | - generic | - jensen | - nautilus | Sun SPARC | sparc | - sun4cdm | - sun4u | ARM and StrongARM | arm | - netwinder | - riscpc | - shark | - lart | IBM/Motorola PowerPC | powerpc - CHRP | - chrp - PowerMac | - powermac, new-powermac - PReP | - prep - APUS | - apus | HP PA-RISC | hppa - PA-RISC 1.1 | - 32 - PA-RISC 2.0 | - 64 | Intel ia64-based | ia64 | MIPS (big endian) | mips - SGI Indy/I2 | - r4k-ip22 | MIPS (little endian) | mipsel - DEC Decstation | - r4k-kn04 | - r3k-kn02 | IBM S/390 | s390 | - tape | - vmrdr | ---------------------+----------------------------
This document covers installation for the i386 architecture. If you
are looking for information on any of the other Debian-supported 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 3.0
ships with X11 revision 4.1.0.
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 3.0 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 9.6. At this time (kernel version 2.2.20) the way you enable SMP is to select ``symmetric multi-processing'' in the ``General'' section of the kernel config.
In many cases, you'll have to do your first boot from floppy disks, using the rescue floppy. Generally, all you will need is a high-density (1440 kilobytes) 3.5 inch floppy drive. High-density, 5.25 inch installation floppy images (1200 k) are also provided.
CD-ROM based installation is 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 from a CD-ROM, Section 5.2.
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 system booting from a hard disk is another option for many architectures.
You can also boot your system over the network. Diskless installation, using network booting from a local area network and NFS-mounting of all local filesystems, is another option — you'll probably need at least 16MB of RAM for a diskless installation. After the operating system kernel is installed, you can install the rest of your system via any sort of network connection (including PPP after installation of the base system), via FTP, HTTP, or NFS.
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, which includes many drivers that won't be used for your machine (see Compiling a New Kernel, Section 9.6 to learn how to build your own kernel). Support for the widest possible range of devices is desirable in general, 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 9.6).
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 110MB of hard disk space. For a minimal console-based system (all standard packages), 250MB is required. 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 400MB. 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.
Some network interface cards (NICs) are not supported by most Debian
installation disks, 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; Winbond-840 based cards (eg. Realtek-100A),
some new Tulip based cards and the Zenith Z-Note built-in network card. These
network cards are supported by the "bf2.4" flavor: Winbond-840 based
cards, newer Tulip based cards, National Semiconductor DP8381x/DP8382x series
and Sundance ST201 "Alta". Microchannel (MCA) network cards are not
supported by the standard installation system, but see Linux on MCA
for some (old) instructions, and the Linux MCA discussion
archives
. FDDI networks are also not supported by the installation
disks, both cards and protocols. You can create a custom kernel which supports
an otherwise unsupported card and then substitute in the installer (see Replacing the
Rescue Floppy Kernel, Section 10.3).
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 your own kernel please go to Compiling a New Kernel, Section 9.6 for further information.
Linux supports a large variety of hardware devices such as mice, printers,
scanners, PCMCIA and USB devices. However, most of these devices are not
required while installing the system. USB keyboards may require additional
configuration (see USB
keyboards, Section 3.7.3.4). 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.
USB hardware is supported by the flavor "bf2.4". If you find that you cannot use some USB devices, you may upgrade to kernel 2.4.x later.
Note that the stock kernels do not support serial ports numbered greater than
four (/dev/ttyS3
). You'll have to either use the available ports,
or else build a custom kernel (see Replacing the
Rescue Floppy Kernel, Section 10.3).
There are several vendors, 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.
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
.
Installing Debian GNU/Linux 3.0 For Intel x86
version 3.0.23, 15 May, 2002