5.3. Troubleshooting the Installation Process

5.3.1. CD-ROM Reliability

Sometimes, especially with older CD-ROM drives, the installer may fail to boot from a CD-ROM. The installer may also — even after booting successfully from CD-ROM — fail to recognize the CD-ROM or return errors while reading from it during the installation.

There are many different possible causes for these problems. We can only list some common issues and provide general suggestions on how to deal with them. The rest is up to you.

There are two very simple things that you should try first.

  • If the CD-ROM does not boot, check that it was inserted correctly and that it is not dirty.

  • If the installer fails to recognize a CD-ROM, try just running the option Detect and mount CD-ROM a second time. Some DMA related issues with older CD-ROM drives are known to be resolved in this way.

If this does not work, then try the suggestions in the subsections below. Most, but not all, suggestions discussed there are valid for both CD-ROM and DVD, but we'll use the term CD-ROM for simplicity.

If you cannot get the installation working from CD-ROM, try one of the other installation methods that are available.

5.3.1.1. Common issues

  • Some older CD-ROM drives do not support reading from discs that were burned at high speeds using a modern CD writer.

  • If your system boots correctly from the CD-ROM, it does not necessarily mean that Linux also supports the CD-ROM (or, more correctly, the controller that your CD-ROM drive is connected to).

  • Some older CD-ROM drives do not work correctly if direct memory access (DMA) is enabled.

5.3.1.2. How to investigate and maybe solve issues

If the CD-ROM fails to boot, try the suggestions listed below.

  • Check that your BIOS actually supports booting from CD-ROM (older systems possibly don't) and that your CD-ROM drive supports the media you are using.

  • If you downloaded an iso image, check that the md5sum of that image matches the one listed for the image in the MD5SUMS file that should be present in the same location as where you downloaded the image from.

    $ md5sum debian-testing-i386-netinst.iso
    a20391b12f7ff22ef705cee4059c6b92  debian-testing-i386-netinst.iso
    

    Next, check that the md5sum of the burned CD-ROM matches as well. The following command should work. It uses the size of the image to read the correct number of bytes from the CD-ROM.

    $ dd if=/dev/cdrom | \
    > head -c `stat --format=%s debian-testing-i386-netinst.iso` | \
    > md5sum
    a20391b12f7ff22ef705cee4059c6b92  -
    262668+0 records in
    262668+0 records out
    134486016 bytes (134 MB) copied, 97.474 seconds, 1.4 MB/s
    

If, after the installer has been booted successfully, the CD-ROM is not detected, sometimes simply trying again may solve the problem. If you have more than one CD-ROM drive, try changing the CD-ROM to the other drive. If that does not work or if the CD-ROM is recognized but there are errors when reading from it, try the suggestions listed below. Some basic knowledge of Linux is required for this. To execute any of the commands, you should first switch to the second virtual console (VT2) and activate the shell there.

  • Switch to VT4 or view the contents of /var/log/syslog (use nano as editor) to check for any specific error messages. After that, also check the output of dmesg.

  • Check in the output of dmesg if your CD-ROM drive was recognized. You should see something like (the lines do not necessarily have to be consecutive):

    Probing IDE interface ide1...
    hdc: TOSHIBA DVD-ROM SD-R6112, ATAPI CD/DVD-ROM drive
    ide1 at 0x170-0x177,0x376 on irq 15
    hdc: ATAPI 24X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33)
    Uniform CD-ROM driver Revision: 3.20
    

    If you don't see something like that, chances are the controller your CD-ROM is connected to was not recognized or may be not supported at all. If you know what driver is needed for the controller, you can try loading it manually using modprobe.

  • Check that there is a device node for your CD-ROM drive under /dev/. In the example above, this would be /dev/hdc. There should also be a /dev/cdrom.

  • Use the mount command to check if the CD-ROM is already mounted; if not, try mounting it manually:

    $ mount /dev/hdc /cdrom
    

    Check if there are any error messages after that command.

  • Check if DMA is currently enabled:

    $ cd /proc/ide/hdc
    $ grep using_dma settings
    using_dma      1       0       1       rw
    

    A 1 in the first column after using_dma means it is enabled. If it is, try disabling it:

    $ echo -n "using_dma:0" >settings
    

    Make sure that you are in the directory for the device that corresponds to your CD-ROM drive.

  • If there are any problems during the installation, try checking the integrity of the CD-ROM using the option near the bottom of the installer's main menu. This option can also be used as a general test if the CD-ROM can be read reliably.

5.3.2. Boot Configuration

If you have problems and the kernel hangs during the boot process, doesn't recognize peripherals you actually have, or drives are not recognized properly, the first thing to check is the boot parameters, as discussed in Section 5.2, “Boot Parameters”.

Often, problems can be solved by removing add-ons and peripherals, and then trying booting again. Internal modems, sound cards, and Plug-n-Play devices can be especially problematic.

If you have a large amount of memory installed in your machine, more than 512M, and the installer hangs when booting the kernel, you may need to include a boot argument to limit the amount of memory the kernel sees, such as mem=512m.

5.3.3. Common Intel x86 Installation Problems

There are some common installation problems that can be solved or avoided by passing certain boot parameters to the installer.

Some systems have floppies with inverted DCLs. If you receive errors reading from the floppy, even when you know the floppy is good, try the parameter floppy=thinkpad.

On some systems, such as the IBM PS/1 or ValuePoint (which have ST-506 disk drivers), the IDE drive may not be properly recognized. Again, try it first without the parameters and see if the IDE drive is recognized properly. If not, determine your drive geometry (cylinders, heads, and sectors), and use the parameter hd=cylinders,heads,sectors.

If you have a very old machine, and the kernel hangs after saying Checking 'hlt' instruction..., then you should try the no-hlt boot argument, which disables this test.

Some systems (especially laptops) that have a native resolution that is not a 4:3 ratio (i.e. not for example 800x600 or 1024x768) may have a blank display after the installer has been booted. In that case adding the boot parameter vga=788[10] may help. If that does not work, try adding the boot parameter fb=false.

If your screen begins to show a weird picture while the kernel boots, eg. pure white, pure black or colored pixel garbage, your system may contain a problematic video card which does not switch to the framebuffer mode properly. Then you can use the boot parameter fb=false to disable the framebuffer console. Only a reduced set of languages will be available during the installation due to limited console features. See Section 5.2, “Boot Parameters” for details.

5.3.3.1. System Freeze During the PCMCIA Configuration Phase

Some laptop models produced by Dell are known to crash when PCMCIA device detection tries to access some hardware addresses. Other laptops may display similar problems. If you experience such a problem and you don't need PCMCIA support during the installation, you can disable PCMCIA using the hw-detect/start_pcmcia=false boot parameter. You can then configure PCMCIA after the installation is completed and exclude the resource range causing the problems.

Alternatively, you can boot the installer in expert mode. You will then be asked to enter the resource range options your hardware needs. For example, if you have one of the Dell laptops mentioned above, you should enter exclude port 0x800-0x8ff here. There is also a list of some common resource range options in the System resource settings section of the PCMCIA HOWTO. Note that you have to omit the commas, if any, when you enter this value in the installer.

5.3.3.2. System Freeze while Loading USB Modules

The kernel normally tries to install USB modules and the USB keyboard driver in order to support some non-standard USB keyboards. However, there are some broken USB systems where the driver hangs on loading. A possible workaround may be disabling the USB controller in your mainboard BIOS setup. Another option is passing the nousb parameter at the boot prompt.

5.3.4. Interpreting the Kernel Startup Messages

During the boot sequence, you may see many messages in the form can't find something, or something not present, can't initialize something, or even this driver release depends on something. Most of these messages are harmless. You see them because the kernel for the installation system is built to run on computers with many different peripheral devices. Obviously, no one computer will have every possible peripheral device, so the operating system may emit a few complaints while it looks for peripherals you don't own. You may also see the system pause for a while. This happens when it is waiting for a device to respond, and that device is not present on your system. If you find the time it takes to boot the system unacceptably long, you can create a custom kernel later (see Section 8.6, “Compiling a New Kernel”).

5.3.5. Reporting Installation Problems

If you get through the initial boot phase but cannot complete the install, the menu option Save debug logs may be helpful. It lets you store system error logs and configuration information from the installer to a floppy, or download them using a web browser. This information may provide clues as to what went wrong and how to fix it. If you are submitting a bug report, you may want to attach this information to the bug report.

Other pertinent installation messages may be found in /var/log/ during the installation, and /var/log/installer/ after the computer has been booted into the installed system.

5.3.6. Submitting Installation Reports

If you still have problems, please submit an installation report. We also encourage installation reports to be sent even if the installation is successful, so that we can get as much information as possible on the largest number of hardware configurations.

Note that your installation report will be published in the Debian Bug Tracking System (BTS) and forwarded to a public mailing list. Make sure that you use an e-mail address that you do not mind being made public.

If you have a working Ubuntu system, the easiest way to send an installation report is to install the installation-report and reportbug packages (aptitude install installation-report reportbug), configure reportbug as explained in Section 8.5.2, “Sending E-Mails Outside The System”, and run the command reportbug installation-reports.

Alternatively you can use this template when filling out installation reports, and send the report to .

Package: installation-reports

Boot method: <How did you boot the installer? CD? floppy? network?>
Image version: <Full URL to image you downloaded is best>
Date: <Date and time of the install>

Machine: <Description of machine (eg, IBM Thinkpad R32)>
Processor:
Memory:
Partitions: <df -Tl will do; the raw partition table is preferred>

Output of lspci -knn (or lspci -nn):

Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [ ]
Detect network card:    [ ]
Configure network:      [ ]
Detect CD:              [ ]
Load installer modules: [ ]
Detect hard drives:     [ ]
Partition hard drives:  [ ]
Install base system:    [ ]
Clock/timezone setup:   [ ]
User/password setup:    [ ]
Install tasks:          [ ]
Install boot loader:    [ ]
Overall install:        [ ]

Comments/Problems:

<Description of the install, in prose, and any thoughts, comments
      and ideas you had during the initial install.>

In the bug report, describe what the problem is, including the last visible kernel messages in the event of a kernel hang. Describe the steps that you did which brought the system into the problem state.



[10] The parameter vga=788 will activate the VESA framebuffer with a resolution of 800x600. This will probably work, but may not be the optimal resolution for your system. A list of supported resolutions can be obtained by using vga=ask, but you should be aware that list may not be complete.