You can install Debian from a variety of sources, both local (CD, hard disk, floppies) and remote (FTP, NFS, PPP, HTTP). Debian also supports various hardware configurations, so you may still have a few choices to make before you get going. This chapter lays out the choices and some suggestions for how to make them.
You can make different choices for different steps in the installation. For example, you may start the installation by booting off diskettes, but then feed later steps in the install process files from your hard disk.
As the installation progresses you will move from a scrawny, incapable system which lives only in RAM to a full-featured Debian GNU/Linux system installed on the hard disk. One of the key goals of the early installation steps is to increase the variety of hardware (e.g., interface cards) and software (e.g., network protocols and file system drivers) the system supports. Consequently, later installation steps can use a broader range of sources than earlier ones.
The easiest route for most people will be to use a set of Debian CDs. If you have such a set, and if your machine supports booting directly off the CD, great! Simply configure your system to boot off the CD as described in Boot Device Selection, Section 3.3.2, insert your CD, reboot, and proceed to the next chapter. If it turns out the standard installation doesn't work for your hardware, you can come back here to see about alternate kernels and installation methods which may work for you. In particular, note that some CD sets provide different kernels on different CDs, so that booting off some CD other than the first may work for you.
This overview highlights the points for which you must choose an installation media, or make a choice which will affect which sources you can choose later. The following steps will occur:
In making your choices, you need to bear a few factors in mind. The first involve your choice of kernel. The kernel that you pick for the initial system boot is the same kernel that your fully configured system will use. Since drivers are kernel-specific, you must pick a package containing drivers which go with your kernel. We'll turn shortly to the details of picking the right kernel, or rather, installation set.
Different kernels also have different networking abilities out of the box, and so also expand or limit your source choices, particularly early in the install process.
Finally, the particular drivers that you choose to load can enable additional hardware (e.g., network interface cards, hard drive controllers) or file systems (e.g., NTFS or NFS). This therefore widens the choices of installation source media.
Kernel images are available in various ``flavors'', each of which supports a different set of hardware. The flavors available for Intel x86 are:
Although we have described above how many 1.44MB diskettes the different sets occupy, you may still choose different methods of installation.
The kernel config files for these flavors can be found in their respective directories in a file named "kernel-config".
This section indicates the type of hardware which may, and usually will, work at different stages of the installation. It is not a guarantee that all hardware of the indicated type will work with all kernels. For example, RAID disks generally will not be accessible until you install the appropriate drivers.
The initial boot of the installation system is perhaps the most idiosyncratic step. The next chapter provides additional details, but your choices generally include
The following table indicates which media sources you can use at each stage of the installation process. The columns indicate different install stages, ordered from left to right in the sequence which they occur. The far right column is the installation media. A blank cell indicates that given source media is not available at that installation stage; Y indicates that it is, and S means that it is in some cases.
Boot | Kernel Image | Drivers | Base System | Packages | media -----+--------------+---------+-------------+----------+-------- S | | | | | tftp S | Y | Y | Y | | diskette S | Y | Y | Y | Y | CD-ROM S | Y | Y | Y | Y | hard disk | Y | Y | Y | Y | NFS | | S | Y | Y | LAN | | | | Y | PPP
For example, the table shows that only use for PPP in the installation process is the installation of packages.
Note that you will only be prompted for a source for the kernel images and drivers in some installation methods. If you boot off a CD-ROM, it will automatically pick those items off the CD. The important point is that as soon as you boot off a diskette, you can immediately switch to some superior installation source. Remember, though, that you must not mix up the different install sets, i.e., using a Rescue Floppy from one subarchitecture and Driver Floppies from another.
The `Boot' column is all Ss because media support for booting varies widely for different architectures.
The `LAN' and `PPP' rows refer to Internet-based file transfer (FTP, HTTP, and the like) over Ethernet or phone lines. In general this is not available, but certain kernels may permit you to do this earlier. Experts can also use these connections to mount disks and perform other operations to accelerate the process. Providing help in such cases is beyond the scope of this document.
Get a set of Debian GNU/Linux CDs. Boot off them if you can.
Since you've read this far, you probably couldn't or wouldn't. If your problem is simply that your CD drive is not bootable, you can pull the files you need for the initial boot off the CD and use them to make floppies or do a boot from alternate operating system.
Failing this, you may have an existing operating system with some free disk space. The early installation system can read many filesystems (NTFS being a prominent exception — you must load the appropriate driver). If it can read yours, you should download documentation, initial boot images, and utilities. Then get the appropriate drivers archive as a single file, and the base system as a single file. Perform your initial boot, and then point the installation program at the files you have downloaded when it asks for the appropriate source.
These are only suggestions. You should choose whatever sources are most convenient for you. Floppies are neither convenient nor reliable, so we urge you to get off them as soon as possible. However, compared to booting off an existing operating system they may provide a cleaner environment and an easier path, so they are appropriate for the initial boot, if your system supports them.
This section contains an annotated list of files you will find in the
disks-i386 directory. You may not need to download these at all;
it all depends on the booting and base system installation media you have
Most files are floppy disk images; that is, a single file which can be written
to a disk to create the necessary floppy disk. These images are, obviously,
dependent on the size of the target floppy. For instance, 1.44MB is the normal
quantity of data which is what fits on standard 3.5 inch floppies. 1.2MB is
the amount of data which normally fits on 5.25 inch floppy disks, so use this
image size if you have such a floppy drive. The images for 1.44MB floppy disks
can be found in the
images-1.44 directory. Images for 1.2MB
floppy disks can be found in the
images-1.20 directory. Images
for 2.88MB disks, which are generally only used for CD-ROM booting and the
like, are found in the
If you are using a web browser on a networked computer to read this document,
you can probably retrieve the files by selecting their names in your web
browser. Depending on your browser you may need to take special action to
download directly to a file, in raw binary mode. For example, in Netscape you
need to hold the shift key when clicking on the URL to retrieve the file.
Files can be downloaded from the URLs in this document, or you can retrieve
or the corresponding directory on any of the
Debian mirror sites.
md5sumprogram, you can ensure that your files are not corrupt by running md5sum -v -c md5sum.txt.
These files contain kernel modules, or drivers, for all kinds of hardware that are not necessary for initial booting. Getting the drivers you want is a two step process: first you identify an archive of drivers you want to use, and then you select which particular drivers you want.
Remember that your driver archive must be consistent with your initial kernel choice.
The ``Debian base system'' is a core set of packages which are required to run Debian in a minimal, stand-alone fashion. Once you have configured and installed the base system, your machine can ``stand on its own''.
file is for installation from non-floppy media, i.e., CD-ROM, harddisk, or NFS.
We turn now to concerns specific to particular kind of sources. For convenience, they appear in the same order as the rows in the earlier table discussing different installation sources.
The biggest problem for people installing Debian for the first time seems to be floppy disk reliability.
The Rescue Floppy is the floppy with the worst problems, because it is read by the hardware directly, before Linux boots. Often, the hardware doesn't read as reliably as the Linux floppy disk driver, and may just stop without printing an error message if it reads incorrect data. There can also be failures in the Driver Floppies and the base floppies, most of which indicate themselves with a flood of messages about disk I/O errors.
If you are having the installation stall at a particular floppy, the first thing you should do is re-download the floppy disk image and write it to a different floppy. Simply reformatting the old floppy may not be sufficient, even if it appears that the floppy was reformatted and written with no errors. It is sometimes useful to try writing the floppy on a different system.
One user reports he had to write the images to floppy three times before one worked, and then everything was fine with the third floppy.
Other users have reported that simply rebooting a few times with the same floppy in the floppy drive can lead to a successful boot. This is all due to buggy hardware or firmware floppy drivers.
Booting from floppies is supported for most platforms.
To boot from floppies, simply download the Rescue Floppy image and the Driver Floppies image.
If you need to, you can also modify the Rescue Floppy; see Replacing the Rescue Floppy Kernel, Section 9.3.
The Rescue Floppy couldn't fit the root filesystem image, so you'll need the root image to be written to a disk as well. You can create that floppy just as the other images are written to floppies. Once the kernel has been loaded from the Rescue Floppy, you'll be prompted for the root disk. Insert that floppy and continue. See also Booting With the Rescue Floppy, Section 6.5.
NOTE: This is not a recommended way of installing Debian, because floppies are generally the least reliable type of media. This is only recommended if you have no extra, pre-existing filesystems on any of the hard drives on your system.
Complete these steps:
Disk images are files containing the complete contents of a floppy disk in
raw form. Disk images, such as
rescue.bin, cannot simply
be copied to floppy drives. A special program is used to write the image files
to floppy disk in raw mode. This is required because these images are
raw representations of the disk; it is required to do a sector copy of
the data from the file onto the floppy.
There are different techniques for creating floppies from disk images, which depend on your platform. This section describes how to create floppies from disk images for different platforms.
No matter which method you use to create your floppies, you should remember to flip the tab on the floppies once you have written them, to ensure they are not damaged unintentionally.
To write the floppy disk image files to the floppy disks, you will probably need root access to the system. Place a good, blank floppy in the floppy drive. Next, use the command
dd if=file of=/dev/fd0 bs=1024 conv=sync ; sync
where file is one of the floppy disk image files.
/dev/fd0 is a commonly used name of the floppy disk device, it may
be different on your workstation (on Solaris, it is
The command may return to the prompt before Unix has finished writing the
floppy disk, so look for the disk-in-use light on the floppy drive and be sure
that the light is out and the disk has stopped revolving before you remove it
from the drive. On some systems, you'll have to run a command to eject the
floppy from the drive (on Solaris, use
eject, see the manual
Some systems attempt to automatically mount a floppy disk when you place it in
the drive. You might have to disable this feature before the workstation will
allow you to write a floppy in raw mode. Unfortunately, how to
accomplish this will vary based on your operating system. On Solaris, you can
work around volume management to get raw access to the floppy. First, make
sure that the floppy is automounted (using
volcheck or the
equivalent command in the file manager). Then use a
dd command of
the form given above, just replace
/vol/rdsk/floppy_name, where floppy_name is
the name the floppy disk was given when it was formatted (unnamed floppies
default to the name
unnamed_floppy). On other systems, ask your
You'll find the
rawrite2.exe program in the same directory as the
floppy disk images. There's also a
rawrite2.txt file containing
instructions for using
To write the floppy disk image files to the floppy disks, first make sure that
you are booted into DOS. Many problems have been reported when trying to use
rawrite2 from within a DOS box from within Windows.
rawrite2 from within the Windows Explorer is
also reported to not work. If you don't know how to boot into DOS, just hit
F8 while booting.
Once you've booted into plain DOS, use the command
rawrite2 -f file -d drive
where file is one of the floppy disk image files, and drive is either `a:' or `b:', depending on which floppy drive you are writing to.
The messages shown by the Rescue Floppy (before loading the Linux kernel) can
be shown in your mother tongue. To achieve this if you are not an English
speaker, after writing the image file, you must copy the provided message files
and a font to the floppy. For MS-DOS and Windows users there is a batch file
setlang.bat in the
dosutils directory, which copies
the correct files. Simply enter this directory (e.g. cd
c:\debian\dosutils) within a command prompt window, and run
setlang lang, where lang is a two-letter
code of your language in lower case, for example setlang pl to set
the language to Polish. Currently these language codes are available: cs
de eo es fi fr hr hu it ja pl pt ru sk sv tr
You'll find the
program in the same directory as the floppy disk images. Start the program by
double clicking on the program icon, and type in the name of the floppy image
file you want written to the floppy at the TOS program command line dialog box.
To create floppies from the distribution floppy images on a MacOS system, you
can use the MacOS utility
Disk Copy or the freeware utility
root.bin file is an example of a floppy
image. First, locate
root.bin on the offical Debian GNU/Linux CD,
or download it from your favorite Debian mirror in binary mode. Do
not allow any automatic extraction of the file after downloading. The `.bin'
extension does not stand for Macbinary, but rather just `binary' floppy image
files. Then use one of the following methods to create a floppy from the
Creator-Changersteps are only necessary if you downloaded the image files.
Creator-Changerand use it to open the
Disk Copy; if you have a MacOS system or CD it will very likely be there already, otherwise try
Disk Copy, and select `Make a Floppy' from the Utilities menu, then select the locked image file from the resulting dialog. It will ask you to insert a floppy, then ask if you really want to erase it. When done it should eject the floppy.
http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/suntar-223.hqx. Start the
suntarprogram and select `Overwrite Sectors...' from the Special menu.
root.binfile in the file-opening dialog.
Before using the floppy you created, set the write protect tab! Otherwise if you accidently mount it in MacOS, MacOS will helpfully ruin it.
CD-ROM booting is one of the easiest ways to install. If you're unlucky and the kernel on the CD-ROM doesn't work for you, you'll have to fall back to another technique.
Installing from CD-ROM is described in Booting and/or Installing from a CD-ROM, Section 6.4.
Note that certain CD drives may require special drivers, and so be inaccessible in the early installation stages.
Booting from an existing operating system is often a convenient option; for some systems it is the only supported method of installation. This method is described in Booting from a Hard Disk, Section 6.3.
Exotic hardware or filesystems may render files on the hard disk inaccessible early in the installation process. If they aren't supported by the Linux kernel, they may be inaccessible even at the end!
Due to the nature of this method of installation, only the base system can be
installed via NFS. You will need to have the Rescue Floppy and the Driver
Floppies available locally using one of the above methods. To install the base
system via NFS, you'll have to go through the regular installation as explained
dbootstrap for Initial
System Configuration, Chapter 7. Do not forget to insert the module
(driver) for your Ethernet card, and the file system module for NFS.
dbootstrap asks you where the base system is located (``Install the Base System'',
Section 7.15), you should choose NFS, and follow the instructions.
Installing Debian GNU/Linux 2.2 For Intel x86version 2.2.27, 14 Listopad, 2001