3.6. 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 Ubuntu. 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 Ubuntu on your system are also highlighted.

3.6.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 Ubuntu.

The rest of this section is lifted from the http://www.faqs.org/faqs/pc-hardware-faq/part1/, 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:

AMI BIOS

Delete key during the POST (power on self test)

Award BIOS

Ctrl-Alt-Esc, or Delete key during the POST

DTK BIOS

Esc key during the POST

IBM PS/2 BIOS

Ctrl-Alt-Insert after Ctrl-Alt-Delete

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.6.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 Ubuntu.

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.

Other popular option is to boot from a USB storage (also called USB memory stick or USB key). Some BIOSes can boot USB storage directly, and some cannot. You may need to configure your BIOS to boot from a “Removable drive” or even a “USB-ZIP” to get it to boot from the USB device.

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

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

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

  4. Save your changes. Instructions on the screen tell you how to save the changes on your computer.

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

  2. Find the utility for changing the boot order.

  3. Set the utility so that the SCSI ID of the CD drive is first on the list.

  4. Save your changes. Instructions on the screen tell you how to save the changes on your computer. Often, you must press F10.

3.6.3. Miscellaneous BIOS Settings

3.6.3.1. 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.6.3.2. 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.6.3.3. 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.6.3.4. 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.6.3.5. Memory Hole

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

3.6.4. 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 Section 2.4.3, “Fake or “Virtual” Parity RAM”.

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.6.4.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.6.4.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.6.4.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.6.4.4. USB BIOS support and keyboards

If you have no AT-style keyboard and only a USB model, you may need to enable legacy AT keyboard emulation in your BIOS setup. Only do this if the installation system fails to use your keyboard in USB mode. Conversely, for some systems (especially laptops) you may need to disable legacy USB support if your keyboard does not respond. Consult your main board manual and look in the BIOS for "Legacy keyboard emulation" or "USB keyboard support" options.

3.6.4.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 Section 5.2, “Boot Parameters”.



[3] After installation you can enable Boot Sector protection if you want. This offers no additional security in Linux but if you also run Windows it may prevent a catastrophe. There is no need to tamper with the Master Boot Record (MBR) after the boot manager has been set up.