[ back ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]

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


3.1 Backups

Before you start, make sure to back up every file that is now on your system. The installation procedure can wipe out all of the data on a hard disk! The programs used in installation are quite reliable and most have seen years of use; still, 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.

Even if you are installing a multi-boot system, make sure that you have on hand the distribution media of any other present operating systems. Especially if you repartition your boot drive, you might find that you have to reinstall your operating system's boot loader, or in some cases (i.e., Macintosh), the whole operating system itself.


3.2 Information You Will Need

Besides this document, you'll need the cfdisk manual page, the fdisk manual page, the dselect Tutorial, and the Linux Hardware Compatibility HOWTO.

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:

If your computer's only network connection is via a serial line, using PPP or an equivalent dialup connection, you are probably not installing the base system over a network. You don't need to worry about getting your network setup until your system is already installed. See Setting up PPP, section 7.25 below for information on setting up PPP under Debian.


3.3 Planning Use of the System

It is important to decide what type of machine you are creating. This will determine disk space requirements and affect your partitioning scheme.

There are a number of default ``Profiles'' which Debian offers for your convenience (see Select and Install Profiles, section 7.23). Profiles are simply sets of package selections which make it easier for you, in that a number of packages are automatically marked for installation.

Each given profile has a size of the resulting system after installation is complete. Even if you don't use these profiles, this discussion is important for planning, since it will give you a sense of how large your partition or partitions need to be.

The following are some of the available profiles and their sizes:

Server_std
This is a small server profile, useful for stripped down server which does not have a lot of niceties for shell users. It basically has an FTP server, a web server, DNS, NIS, and POP. It will take up around 50MB. Of course, this is just size of the software; any data you serve up would be additional.

Dialup
A standard desktop box, including the X window system, graphics applications, sound, editors, etc. Size of the packages will be around 500MB.

Work_std
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. (Note that the author has a pretty simple laptop setup including X11 in even less, around 100MB).

Devel_comp
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.


3.4 Pre-installation Hardware and Operating System Setup

There is sometimes some tweaking to your system that must be done prior to installation. The x86 platform is the most notorious of these; pre-installation hardware setup on other architectures is considerably simpler.

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 you system. The ``firmware'' is the core software used by the hardware; it is most critically invoked during the bootstrap process (after power-up).


3.4.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

Award BIOS
Ctrl-Alt-Esc

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

[From: mike@pencom.com (Mike Heath)] Some 286 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://oak.oakland.edu/pub/simtelnet/msdos/.


3.4.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 your system can't boot directly from CD-ROM, or you simply can't seem to get it to work, don't despair; you can simply run E:\install\boot.bat under DOS (replace E: with whatever drive letter DOS assigns to your CD-ROM drive) to start the installation process. See Installing from a CD-ROM, section 5.4 below for details.

Also, if you're going to be installing from a FAT (DOS) partition, you won't need any floppies at all. See Installing from a DOS partition, subsection 5.3.1 below for more information on installing via this method.


3.4.3 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.4.4 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.4.5 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 using 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.4.6 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 8.4 for instructions how.


3.4.7 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.4.8 Over-Clocking your CPU

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.


3.4.9 Bad Memory Modules

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, subsection 2.5.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.4.10 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.4.11 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.4.12 Peripheral Hardware Settings to Watch Out For

In addition to your BIOS settings, you may have to change some settings on the actual 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.


[ back ] [ Abstract ] [ Copyright Notice ] [ Contents ] [ next ]
Installing Debian GNU/Linux For Intel x86
version 2.1.9, 03 March, 1999
Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo