[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ next ]

Installing Debian GNU/Linux 3.0 For Intel x86
Chapter 3 - Before Installing Debian GNU/Linux


3.1 Overview of the Installation Process

Here's a road map for the steps you will take during the installation process.

  1. Create partition-able space for Debian on your hard disk
  1. Locate and/or download kernel and driver files (except Debian CD users)
  1. Set up boot floppies or place boot files (except most Debian CD users can boot from one of the CDs)
  1. Boot the installation system
  1. Configure the keyboard
  1. Create and mount Debian partitions
  1. Point the installer to the location of the kernel and drivers
  1. Select which peripheral drivers to load
  1. Configure the network interface
  1. Initiate automatic download/install/setup of the base system
  1. Configure Linux or multi-system boot loading
  1. Boot the newly installed system and do some final configuration
  1. Install additional tasks and packages, at your discretion

3.2 Back Up Your Existing Data!

Before you start, make sure to back up every file that is now on your system. If this is the first time a non-native operating system has been installed on your computer, it's quite likely you will need to re-partition your disk to make room for Debian GNU/Linux. Anytime you partition your disk, you should count on losing everything on the disk, no matter what program you use to do it. The programs used in installation are quite reliable and most have seen years of use; but they are also quite powerful and a false move can cost you. Even after backing up be careful and think about your answers and actions. Two minutes of thinking can save hours of unnecessary work.

If you are creating a multi-boot system, make sure that you have the distribution media of any other present operating systems on hand. Especially if you repartition your boot drive, you might find that you have to reinstall your operating system's boot loader, or in many cases the whole operating system itself and all files on the affected partitions.


3.3 Information You Will Need


3.3.1 Documentation

Installation Manual:
install.en.txt
install.en.html
install.en.pdf
This file you are now reading, in plain ASCII, HTML or PDF format.
dselect Tutorial
Tutorial for using the dselect program. This is one means of installing addition packages onto your system after the basic install is complete.
Linux Hardware Compatibility HOWTO
Hardware compatibility information for Intel x86 hardware.
Partitioning Program Manual Pages:
fdisk.txt
cfdisk.txt
Manual pages for the partitioning software used during the installation process.
.../current/md5sum.txt
List of MD5 checksums for the binary files. If you have the md5sum program, you can ensure that your files are not corrupt by running md5sum -v -c md5sum.txt.

3.3.2 Finding Sources of Hardware Information

Hardware information can be gathered from:

                  Hardware Information Needed for an Install              
     +-------------------------------------------------------------------+
     |Hardware|                Information You Might Need                |
     |--------+----------------------------------------------------------|
     |        |  * How many you have.                                    |
     |        |  * Their order on the system.                            |
     |Hard    |  * Whether IDE or SCSI (most computers are IDE).         |
     |Drives  |  * Available free space.                                 |
     |        |  * Partitions.                                           |
     |        |  * Partitions where other operating systems are          |
     |        |    installed.                                            |
     |--------+----------------------------------------------------------|
     |        |  * Model and manufacturer.                               |
     |        |  * Resolutions supported.                                |
     |Monitor |  * Horizontal refresh rate.                              |
     |        |  * Vertical refresh rate.                                |
     |        |  * Color depth (number of colors) supported.             |
     |        |  * Screen size.                                          |
     |--------+----------------------------------------------------------|
     |        |  * Type: serial, PS, or USB.                             |
     |Mouse   |  * Port.                                                 |
     |        |  * Manufacturer.                                         |
     |        |  * Number of buttons.                                    |
     |--------+----------------------------------------------------------|
     |Network |  * Model and manufacturer.                               |
     |        |  * Type of adapter.                                      |
     |--------+----------------------------------------------------------|
     |Printer |  * Model and manufacturer.                               |
     |        |  * Printing resolutions supported.                       |
     |--------+----------------------------------------------------------|
     |        |  * Model and manufacturer.                               |
     |Video   |  * Video RAM available.                                  |
     |Card    |  * Resolutions and color depths supported (these should  |
     |        |    be checked against your monitor's capabilities).      |
     +-------------------------------------------------------------------+

3.3.3 Hardware Compatibility

Many brand name products work without trouble on Linux. Moreover, hardware for Linux is improving daily. However, Linux still does not run as many different types of hardware as some operating systems.

In particular, Linux usually cannot run hardware that requires a running version of Windows to work.

Although some Windows-specific hardware can be made to run on Linux, doing so usually requires extra effort. In addition, Linux drivers for Windows-specific hardware are usually specific to one Linux kernel. Therefore, they can quickly become obsolete.

So called win-modems are the most common type of this hardware. However, printers and other equipment may also be Windows-specific.

You can check hardware compatibility by:


3.3.4 Network Settings

If your computer is connected to a network 24 hours a day (i.e., an Ethernet or equivalent connection — not a PPP connection), you should ask your network's system administrator for this information. On the other hand, if your administrator tells you that a DHCP server is available and is recommended, then you don't need this information because the DHCP server will provide it directly to your computer during the installation process.

If your computer's only network connection is via a serial line, using PPP or an equivalent dialup connection, you will not be able to install the base system over the network. To install the system in this case, you must use a CD, pre-load the base packages on an existing hard disk partition, or prepare floppy disks containing the base packages. See Setting Up PPP, Section 8.9 below for information on setting up PPP under Debian once the system is installed.


3.4 Planning Use of the System

It is important to decide what type of machine you are creating. This will determine the disk space requirements for your Debian system.


3.5 Meeting Minimum Hardware Requirements

Once you have gathered information about your computer's hardware, check that your hardware will let you do the type of installation that you want to do.

Depending on your needs, you might manage with less than some of the recommended hardware listed in the table below. However, most users risk being frustrated if they ignore these suggestions. A Pentium 100 is the minimum recommended for desktop systems, and a Pentium II-300 for a Server.

              Recommended Minimum System Requirements         
           +------------------------------------------+
           |Install Type|      RAM     | Hard Drive   |
           |------------+--------------+--------------|
           |No desktop  | 16 megabytes | 450 megabytes|
           |------------+--------------+--------------|
           |With Desktop| 64 megabytes | 1 gigabyte   |
           |------------+--------------+--------------|
           |Server      | 128 megabytes| 4 gigabytes  |
           +------------------------------------------+

Here is a sampling of some common Debian system configurations. You can also get an idea of the disk space used by related groups of programs by referring to Disk Space Needed for Tasks, Section 11.4.

Standard Server
This is a small server profile, useful for a stripped down server which does not have a lot of niceties for shell users. It includes an FTP server, a web server, DNS, NIS, and POP. For these 50MB of disk space would suffice, and then you would need to add space for any data you serve up.
Dialup
A standard desktop box, including the X window system, graphics applications, sound, editors, etc. Size of the packages will be around 500MB.
Work Console
A more stripped-down user machine, without the X window system or X applications. Possibly suitable for a laptop or mobile computer. The size is around 140MB.
Developer
A desktop setup with all the development packages, such as Perl, C, C++, etc. Size is around 475MB. Assuming you are adding X11 and some additional packages for other uses, you should plan around 800MB for this type of machine.

Remember that these sizes don't include all the other materials which are usually to be found, such as user files, mail, and data. It is always best to be generous when considering the space for your own files and data. Notably, the Debian /var partition contains a lot of state information. The dpkg files (with information on all installed packages) can easily consume 20MB; with logs and the rest, you should usually allocate at least 50MB for /var.


3.6 Pre-Partitioning for Multi-Boot Systems

Partitioning your disk simply refers to the act of breaking up your disk into sections. Each section is then independent of the others. It's roughly equivalent to putting up walls in a house; if you add furniture to one room it doesn't affect any other room.

If you already have an operating system on your system (Windows95, Windows NT, OS/2, MacOS, Solaris, FreeBSD, …) and want to stick Linux on the same disk, you will need to repartition the disk. Debian requires its own hard disk partitions. It cannot be installed on Windows or MacOS partitions. It may be able to share some partitions with other Linux systems, but that's not covered here. At the very least you will need a dedicated partition for the Debian root.

You can find information about your current partition setup by using a partitioning tool for your current operating system , such as fdisk or PartitionMagic . Partitioning tools always provide a way to show existing partitions without making changes.

In general, changing a partition with a file system already on it will destroy any information there. Thus you should always make backups before doing any repartitioning. Using the analogy of the house, you would probably want to move all the furniture out of the way before moving a wall or you risk destroying it. Luckily, there is an alternative for some users; see Lossless Repartitioning When Starting From DOS, Win-32 or OS/2, Section 3.6.1.1.

If your computer has more than one hard disk, you may want to dedicate one of the hard disks completely to Debian. If so, you don't need to partition that disk before booting the installation system; the installer's included partitioning program can handle the job nicely.

If your machine has only one hard disk, and you would like to completely replace the current operating system with Debian GNU/Linux, you also can wait to partition as part of the installation process (Partitioning for Debian, Chapter 6), after you have booted the installation system. However this only works if you plan to boot the installer system from floppies, CD-ROM or files on a connected machine. Consider: if you boot from files placed on the hard disk, and then partition that same hard disk within the installation system, thus erasing the boot files, you'd better hope the installation is successful the first time around. At the least in this case, you should have some alternate means of reviving your machine like the original system's installation floppies or CDs.

If your machine already has multiple partitions, and enough space can be provided by deleting and replacing one or more of them, then you too can wait and use the Debian installer's partitioning program. You should still read through the material below, because there may be special circumstances like the order of the existing partitions within the partition map, that force you to partition before installing anyway.

In all other cases, you'll need to partition your hard disk before starting the installation to create partition-able space for Debian. If some of the partitions will be owned by other operating systems, you should create those partitions using native operating system partitioning programs. We recommend that you do not attempt to create Debian Linux partitions using another operating system's tools. Instead, you should just create the native operating system's partitions you will want to retain.

If you are going to install more than one operating system on the same machine, you should install all other system(s) before proceeding with Linux installation. Windows and other OS installations may destroy your ability to start Linux, or encourage you to reformat non-native partitions.

You can recover from these actions or avoid them, but installing the native system first saves you trouble.

If you currently have one hard disk with one partition (a common setup for desktop computers), and you want to multi-boot the native operating system and Debian, you will need to:

  1. Back up everything on the computer.
  1. Boot from the native operating system installer media such as CD-ROM or floppies.
  1. Use the native partitioning tools to create native system partition(s). Leave either a place holder partition or free space for Debian GNU/Linux.
  1. Install the native operating system on its new partition.
  1. Boot back into the native system to verify everything's OK, and to download the Debian installer boot files.
  1. Boot the Debian installer to continue installing Debian.

3.6.1 Partitioning From DOS or Windows

If you are manipulating existing FAT or NTFS partitions, it is recommended that you either use the scheme below or native Windows or DOS tools. Otherwise, it is not really necessary to partition from DOS or Windows; the Linux partitioning tools will generally do a better job.

But if you have a large IDE disk, and are using neither LBA addressing, overlay drivers (sometimes provided by hard disk manufacturers), nor a new (post 1998) BIOS that supports large disk access extensions, then you must locate your Debian boot partition carefully. In this case, you will have to put the boot partition into the first 1024 cylinders of your hard drive (usually around 524 megabytes, without BIOS translation). This may require that you move an existing FAT or NTFS partition.


3.6.1.1 Lossless Repartitioning When Starting From DOS, Win-32 or OS/2

One of the most common installations is onto a system that already contains DOS (including Windows 3.1), Win32 (such as Windows 95, 98, NT), or OS/2, and it is desired to put Debian onto the same disk without destroying the previous system. As explained in the Deciding on Debian Partitions and Sizes, Section 6.1, decreasing the size of an existing partition will almost certainly damage the data on that partition unless certain precautions are taken. The method described here, while not guaranteed to protect your data, works extremely well in practice. As a precaution, you should make a backup.

Before going any further, you should have decided how you will be dividing up the disk. The method in this section will only split a partition into two pieces. One will contain the original OS and the other will be used for Debian. During the installation of Debian, you will be given the opportunity to use the Debian portion of the disk as you see fit, i.e., as swap or as a file system.

The idea is to move all the data on the partition to the beginning, before changing the partition information, so that nothing will be lost. It is important that you do as little as possible between the data movement and repartitioning to minimize the chance of a file being written near the end of the partition as this will decrease the amount of space you can take from the partition.

The first thing needed is a copy of fips which is available in the tools/ directory on your nearest Debian mirror. Unzip the archive and copy the files RESTORRB.EXE, FIPS.EXE and ERRORS.TXT to a bootable floppy. A bootable floppy can be created using the command sys a: under DOS. fips comes with very good documentation which you may want to read. You will definitely need to read the documentation if you use a disk compression driver or a disk manager. Create the disk and read the documentation before you defragment the disk.

The next thing needed is to move all the data to the beginning of the partition. defrag, which comes standard with DOS 6.0 and later can easily do the job. See the fips documentation for a list of other software that may do the trick. Note that if you have Windows 95, you must run defrag from there, since DOS doesn't understand VFAT, which is used to support for long filenames, used in Windows 95 and higher.

After running the defragmenter (which can take a while on a large disk), reboot with the fips disk you created in the floppy drive. Simply type a:\fips and follow the directions.

Note that there are many other other partition managers out there, in case fips doesn't do the trick for you.


3.6.1.2 Partitioning for DOS

If you are partitioning for DOS drives, or changing the size of DOS partitions, using Linux tools, many people experience problems working with the resulting FAT partitions. For instance, some have reported slow performance, consistent problems with scandisk, or other weird errors in DOS or Windows.

Apparently, whenever you create or resize a partition for DOS use, it's a good idea to fill the first few sectors with zeros. Do this prior to running DOS's format command, from Linux:

     dd if=/dev/zero of=/dev/hdXX bs=512 count=4

3.7 Pre-Installation Hardware and Operating System Setup

This section will walk you through pre-installation hardware setup, if any, that you will need to do prior to installing Debian. Generally, this involves checking and possibly changing firmware settings for your system. The ``firmware'' is the core software used by the hardware; it is most critically invoked during the bootstrap process (after power-up). Known hardware issues affecting the reliability of Debian GNU/Linux on your system are also highlighted.


3.7.1 Invoking the BIOS Set-Up Menu

BIOS provides the basic functions needed to boot your machine to allow your operating system to access your hardware. Your system probably provides a BIOS set-up menu, which is used to configure the BIOS. Before installing, you must ensure that your BIOS is setup correctly; not doing so can lead to intermittent crashes or an inability to install Debian.

The rest of this section is lifted from the PC Hardware FAQ, answering the question, "How do I enter the CMOS configuration menu?". How you access the BIOS (or ``CMOS'') configuration menu depends on who wrote your BIOS software:

[From: burnesa@cat.com (Shaun Burnet)]

AMI BIOS
Del key during the POST (power on self test)
Award BIOS
Ctrl-Alt-Esc, or Del key during the POST
DTK BIOS
Esc key during the POST
IBM PS/2 BIOS
Ctrl-Alt-Ins after Ctrl-Alt-Del
Phoenix BIOS
Ctrl-Alt-Esc or Ctrl-Alt-S or F1

Information on invoking other BIOS routines can be found in http://www.tldp.org/HOWTO/mini/Hard-Disk-Upgrade/install.html.

Some Intel x86 machines don't have a CMOS configuration menu in the BIOS. They require a software CMOS setup program. If you don't have the Installation and/or Diagnostics diskette for your machine, you can try using a shareware/freeware program. Try looking in ftp://ftp.simtel.net/pub/simtelnet/msdos/.


3.7.2 Boot Device Selection

Many BIOS set-up menus allow you to select the devices that will be used to bootstrap the system. Set this to look for a bootable operating system on A: (the first floppy disk), then optionally the first CD-ROM device (possibly appearing as D: or E:), and then from C: (the first hard disk). This setting enables you to boot from either a floppy disk or a CD-ROM, which are the two most common boot devices used to install Debian.

If you have a newer SCSI controller and you have a CD-ROM device attached to it, you are usually able to boot from the CD-ROM. All you have to do is enable booting from a CD-ROM in the SCSI-BIOS of your controller.

Here are some details about how to set the boot order. Remember to reset the boot order after Linux is installed, so that you restart your machine from the hard drive.


3.7.2.1 Changing the Boot Order on IDE Computers

  1. As your computer starts, press the keys to enter the BIOS utility. Often, it is the Delete key. However, consult the hardware documentation for the exact keystrokes.
  1. Find the boot sequence in the setup utility. Its location depends on your BIOS, but you are looking for a field that lists drives.

    Common entries on IDE machines are C, A, cdrom or A, C, cdrom .

    C is the hard drive, and A is the floppy drive.

  1. Change the boot sequence setting so that the CD-ROM or the floppy is first. Usually, the Page Up or Page Down keys cycle through the possible choices.
  1. Save your changes. Instructions on the screen tell you how to save the changes on your computer.

3.7.2.2 Changing the Boot Order on SCSI Computers

  1. As your computer starts, press the keys to enter the SCSI setup utility.

    You can start the SCSI setup utility after the memory check and the message about how to start the BIOS utility displays when you start your computer.

    The keystrokes you need depend on the utility. Often, it is Ctrl-F2. However, consult your hardware documentation for the exact keystrokes.

  1. Find the utility for changing the boot order.
  1. Set the utility so that the SCSI ID of the CD drive is first on the list.
  1. Save your changes. Instructions on the screen tell you how to save the changes on your computer. Often, you must press F10.

3.7.2.3 CD-ROM Settings

Some BIOS systems (such as Award BIOS) allow you to automatically set the CD speed. You should avoid that, and instead set it to, say, the lowest speed. If you get seek failed error messages, this may be your problem.


3.7.2.4 Extended vs. Expanded Memory

If your system provides both extended and expanded memory, set it so that there is as much extended and as little expanded memory as possible. Linux requires extended memory and cannot use expanded memory.


3.7.2.5 Virus Protection

Disable any virus-warning features your BIOS may provide. If you have a virus-protection board or other special hardware, make sure it is disabled or physically removed while running GNU/Linux. These aren't compatible with GNU/Linux; moreover, due to the file system permissions and protected memory of the Linux kernel, viruses are almost unheard of.[3]


3.7.2.6 Shadow RAM

Your motherboard may provide shadow RAM or BIOS caching. You may see settings for ``Video BIOS Shadow'', ``C800-CBFF Shadow'', etc. Disable all shadow RAM. Shadow RAM is used to accelerate access to the ROMs on your motherboard and on some of the controller cards. Linux does not use these ROMs once it has booted because it provides its own faster 32-bit software in place of the 16-bit programs in the ROMs. Disabling the shadow RAM may make some of it available for programs to use as normal memory. Leaving the shadow RAM enabled may interfere with Linux access to hardware devices.


3.7.2.7 Miscellaneous BIOS Settings to Watch Out For

If your BIOS offers something like ``15-16 MB Memory Hole'', please disable that. Linux expects to find memory there if you have that much RAM.

We have a report of an Intel Endeavor motherboard on which there is an option called ``LFB'' or ``Linear Frame Buffer''. This had two settings: ``Disabled'' and ``1 Megabyte''. Set it to ``1 Megabyte''. When disabled, the installation floppy was not read correctly, and the system eventually crashed. At this writing we don't understand what's going on with this particular device — it just worked with that setting and not without it.


3.7.2.8 Advanced Power Management

If your motherboard provides Advanced Power Management (APM), configure it so that power management is controlled by APM. Disable the doze, standby, suspend, nap, and sleep modes, and disable the hard disk's power-down timer. Linux can take over control of these modes, and can do a better job of power-management than the BIOS. The version of the operating system kernel on the installation floppies does not, however, use APM, because we've had reports of one laptop system crashing when the Linux APM driver is configured. Once you've installed Linux, you can build a custom-configured version of the Linux kernel; see Compiling a New Kernel, Section 9.6 for instructions.


3.7.3 Hardware Issues to Watch Out For

Many people have tried operating their 90 MHz CPU at 100 MHz, etc. It sometimes works, but is sensitive to temperature and other factors and can actually damage your system. One of the authors of this document over-clocked his own system for a year, and then the system started aborting the gcc program with an unexpected signal while it was compiling the operating system kernel. Turning the CPU speed back down to its rated value solved the problem.

The gcc compiler is often the first thing to die from bad memory modules (or other hardware problems that change data unpredictably) because it builds huge data structures that it traverses repeatedly. An error in these data structures will cause it to execute an illegal instruction or access a non-existent address. The symptom of this will be gcc dying from an unexpected signal.

The very best motherboards support parity RAM and will actually tell you if your system has a single-bit error in RAM. Unfortunately, they don't have a way to fix the error, thus they generally crash immediately after they tell you about the bad RAM. Still, it's better to be told you have bad memory than to have it silently insert errors in your data. Thus, the best systems have motherboards that support parity and true-parity memory modules; see Fake or ``Virtual'' Parity RAM, Section 2.6.3.

If you do have true-parity RAM and your motherboard can handle it, be sure to enable any BIOS settings that cause the motherboard to interrupt on memory parity errors.


3.7.3.1 The Turbo Switch

Many systems have a turbo switch that controls the speed of the CPU. Select the high-speed setting. If your BIOS allows you to disable software control of the turbo switch (or software control of CPU speed), do so and lock the system in high-speed mode. We have one report that on a particular system, while Linux is auto-probing (looking for hardware devices) it can accidentally touch the software control for the turbo switch.


3.7.3.2 Cyrix CPUs and Floppy Disk Errors

Many users of Cyrix CPUs have had to disable the cache in their systems during installation, because the floppy disk has errors if they do not. If you have to do this, be sure to re-enable your cache when you are finished with installation, as the system runs much slower with the cache disabled.

We don't think this is necessarily the fault of the Cyrix CPU. It may be something that Linux can work around. We'll continue to look into the problem. For the technically curious, we suspect a problem with the cache being invalid after a switch from 16-bit to 32-bit code.


3.7.3.3 Peripheral Hardware Settings

You may have to change some settings or jumpers on your computer's peripheral cards. Some cards have setup menus, while others rely on jumpers. This document cannot hope to provide complete information on every hardware device; what it hopes to provide is useful tips.

If any cards provide ``mapped memory'', the memory should be mapped somewhere between 0xA0000 and 0xFFFFF (from 640K to just below 1 megabyte) or at an address at least 1 megabyte greater than the total amount of RAM in your system.


3.7.3.4 USB keyboards

If you have no AT-style keyboard and only a USB model, you will need to enable legacy AT keyboard emulation in your BIOS setup. Consult your main board manual and look in the BIOS for "Legacy keyboard emulation" or "USB keyboard support" options. It must be enabled in order to boot the installation system. If you enabled this option and it is working for you, you are fine and can go ahead.

If you cannot find this option, it might be that it is always enabled and you can continue. It also might mean that the BIOS does not provide any emulation support (bad luck here).

If you find the option and enable it, but the emulation stops working soon after the kernel started, then you have bad luck too. You could try the "bf2.4" flavor where the root floppy brings USB modules. If you are installing with floppy disks, you would need the keyboard once before the USB modules can be loaded. Specifying the "keytimer" option at boot prompt may help in this case.

Sometimes, the emulation hangs but it wakes up after few minutes, so you could wait some time and try to continue. To fix this behavior, you could load Linux' own drivers for USB keyboards. For this, use "modconf" (Step "Configure Device Driver Modules") and load usb-uhci or usb-ohci modules.


3.7.3.5 More than 64 MB RAM

The Linux Kernel can not always detect what amount of RAM you have. If this is the case please look at Boot Parameter Arguments, Section 5.1.


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ next ]

Installing Debian GNU/Linux 3.0 For Intel x86

version 3.0.23, 15 May, 2002
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo