<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->

 <sect1 id="boot-troubleshooting">
 <title>Troubleshooting the Installation Process</title>
<para>
</para>

  <sect2 arch="not-s390" id="unreliable-cd">
  <title>Reliability of optical media</title>
<para>

Sometimes, especially with older drives, the installer may fail
to boot from an optical disc. The installer may also &mdash; even after booting
successfully from such disc &mdash; fail to recognize the disc or return
errors while reading from it during the installation.

</para><para>

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.

</para><para>

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

<itemizedlist>
<listitem><para>

If the disc does not boot, check that it was inserted correctly and that
it is not dirty.

</para></listitem>
<listitem><para>

If the installer fails to recognize the disc, try just running the option
<menuchoice> <guimenuitem>Detect and mount installation media</guimenuitem> </menuchoice>
a second time. Some DMA related issues with very old CD-ROM drives are known to
be resolved in this way.

</para></listitem>
</itemizedlist>

</para><para>

If this does not work, then try the suggestions in the subsections below.
Most, but not all, suggestions discussed there are valid for CD-ROM and DVD.

</para><para>

If you cannot get the installation working from optical disc, try one of the
other installation methods that are available.

</para>

  <sect3>
  <title>Common issues</title>

<itemizedlist>
  <listitem><para>

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

  </para></listitem>

<!--
  <listitem><para>

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

  </para></listitem>
-->

  <listitem><para>

Some very old CD-ROM drives do not work correctly if <quote>direct memory
access</quote> (DMA) is enabled for them.

  </para></listitem>
</itemizedlist>

  </sect3>

  <sect3>
  <title>How to investigate and maybe solve issues</title>
<para>

If the optical disc fails to boot, try the suggestions listed below.

<itemizedlist>
  <listitem><para>

Check that your BIOS/UEFI actually supports booting from optical disc (only an
issue for very old systems) and that booting from such media is enabled in the
BIOS/UEFI.

  </para></listitem>
  <listitem><para>

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

<informalexample><screen>
$ md5sum <replaceable>debian-testing-i386-netinst.iso</replaceable>
a20391b12f7ff22ef705cee4059c6b92  <replaceable>debian-testing-i386-netinst.iso</replaceable>
</screen></informalexample>

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

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

  </para></listitem>
</itemizedlist>

</para><para>

If, after the installer has been booted successfully, the disc is not
detected, sometimes simply trying again may solve the problem. If you have
more than one optical drive, try changing the disc to the other drive.
If that does not work or if the disc is recognized but there are errors
when reading from it, try the suggestions listed below. Some basic knowledge
of &arch-kernel; 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.

<itemizedlist>
  <listitem><para>

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

  </para></listitem>
  <listitem><para>

Check in the output of <command>dmesg</command> if your optical drive was
recognized. You should see something like (the lines do not necessarily
have to be consecutive):

<informalexample><screen>
ata1.00: ATAPI: MATSHITADVD-RAM UJ-822S, 1.61, max UDMA/33
ata1.00: configured for UDMA/33
scsi 0:0:0:0: CD-ROM            MATSHITA DVD-RAM UJ-822S  1.61 PQ: 0 ANSI: 5
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
cdrom: Uniform CD-ROM driver Revision: 3.20
</screen></informalexample>

If you don't see something like that, chances are the controller your drive
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 <command>modprobe</command>.

  </para></listitem>
  <listitem><para>

Check that there is a device node for your optical drive under
<filename>/dev/</filename>. In the example above, this would be
<filename>/dev/sr0</filename>.
There should also be a <filename>/dev/cdrom</filename>.

  </para></listitem>
  <listitem><para>

Use the <command>mount</command> command to check if the optical disc is already
mounted; if not, try mounting it manually:

<informalexample><screen>
$ mount /dev/<replaceable>hdc</replaceable> /cdrom
</screen></informalexample>

Check if there are any error messages after that command.

  </para></listitem>
  <listitem><para>

Check if DMA is currently enabled:

<informalexample><screen>
$ cd /proc/<replaceable>ide</replaceable>/<replaceable>hdc</replaceable>
$ grep using_dma settings
using_dma      1       0       1       rw
</screen></informalexample>

A <quote>1</quote> in the first column after <literal>using_dma</literal>
means it is enabled. If it is, try disabling it:

<informalexample><screen>
$ echo -n "using_dma:0" &gt;settings
</screen></informalexample>

Make sure that you are in the directory for the device that corresponds
to your optical drive.

  </para></listitem>
  <listitem><para>

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

  </para></listitem>
</itemizedlist>

</para>
  </sect3>
  </sect2>

  <sect2><title>Boot Configuration</title>

<para>

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 <xref linkend="boot-parms"/>.

</para>

<para arch="not-s390">
In some cases, malfunctions
can be caused by missing device firmware (see <xref
linkend="hardware-firmware"/> and <xref linkend="loading-firmware"/>).

</para>
  </sect2>

  <sect2 arch="x86">
  <title>Software Speech Synthesis</title>

<para>

If software speech synthesis does not work, there is most probably an issue
with your sound board, usually because either the driver for it is not included
in the installer, or because it has unusual mixer level names which are set to
muted by default. You should thus submit a bug report which includes the output
of the following commands, run on the same machine from a Linux system which is
known to have sound working (e.g., a live CD).

<itemizedlist>
<listitem>
<para><userinput>dmesg</userinput></para>
</listitem><listitem>
<para><userinput>lspci</userinput></para>
</listitem><listitem>
<para><userinput>lsmod</userinput></para>
</listitem><listitem>
<para><userinput>amixer</userinput></para>
</listitem>
</itemizedlist>

</para>
  </sect2>

  <sect2 arch="x86" id="i386-boot-problems">
  <title>Common &arch-title; Installation Problems</title>
<para>

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

</para>

<!-- outdated
<para>

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
<userinput>hd=<replaceable>cylinders</replaceable>,<replaceable>heads</replaceable>,<replaceable>sectors</replaceable></userinput>.

</para><para>

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

</para><para>

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 <userinput>vga=788</userinput><footnote>

<para>
The parameter <userinput>vga=788</userinput> 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 <userinput>vga=ask</userinput>, but
you should be aware that list may not be complete.
</para>

</footnote> may help. If that does not work,
try adding the boot parameter <userinput>fb=false</userinput>.

</para>
-->

<para>

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
<userinput>fb=false</userinput> to disable the framebuffer
console. Only a reduced set of
languages will be available during the installation due to limited
console features. See <xref linkend="boot-parms"/> for details.

</para>

  <sect3>
  <title>System Freeze During the PCMCIA Configuration Phase</title>
<para>

Some very old 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
<userinput>hw-detect/start_pcmcia=false</userinput> boot parameter. You can
then configure PCMCIA after the installation is completed and exclude the
resource range causing the problems.

</para><para>

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 <userinput>exclude port
0x800-0x8ff</userinput> here. There is also a list of some common
resource range options in the <ulink
url="http://pcmcia-cs.sourceforge.net/ftp/doc/PCMCIA-HOWTO-1.html#ss1.12">System
resource settings section of the PCMCIA HOWTO</ulink>. Note that you
have to omit the commas, if any, when you enter this value in the
installer.

</para>
   </sect3>

  </sect2>

  <sect2 id="kernel-msgs">
  <title>Interpreting the Kernel Startup Messages</title>

<para>

During the boot sequence, you may see many messages in the form
<computeroutput>can't find <replaceable>something</replaceable></computeroutput>,
or <computeroutput><replaceable>something</replaceable>
not present</computeroutput>, <computeroutput>can't initialize
<replaceable>something</replaceable></computeroutput>,
or even <computeroutput>this driver release depends
on <replaceable>something</replaceable></computeroutput>.
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 <phrase arch="linux-any">(see <xref linkend="kernel-baking"/>)</phrase>.

</para>
  </sect2>


  <sect2 id="problem-report">
  <title>Reporting Installation Problems</title>
<para>

If you get through the initial boot phase but cannot complete the install,
the menu option <guimenuitem>Save debug logs</guimenuitem> may be helpful.
It lets you store system error logs and configuration information from the
installer on a storage medium, 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.

</para><para>

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

</para>
  </sect2>

  <sect2 id="submit-bug">
  <title>Submitting Installation Reports</title>
<para>

If you still have problems, please submit an installation report (in English
please, whenever possible). 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. 

</para><para>

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.

</para><para>

If you have a working &debian; system, the easiest way to send an installation
report is to install the <classname>installation-report</classname> and
<classname>reportbug</classname> packages
(<command>apt install installation-report reportbug</command>),
configure <classname>reportbug</classname> as explained in
<xref linkend="mail-outgoing"/>, and run the command <command>reportbug
installation-reports</command>.

</para><para>

Alternatively you can use this template when filling out
installation reports, and file the report as a bug report against the
<classname>installation-reports</classname> pseudo package, by sending it to
<email>submit@bugs.debian.org</email>.

<informalexample><screen>
Package: installation-reports

Boot method: &lt;How did you boot the installer? CD/DVD? USB stick? Network?&gt;
Image version: &lt;Full URL to image you downloaded is best&gt;
Date: &lt;Date and time of the install&gt;

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

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 media:           [ ]
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:

&lt;Description of the install, in prose, and any thoughts, comments
      and ideas you had during the initial install.&gt;

Please make sure that any installation logs that you think would
be useful are attached to this report. (You can find them in the installer
system in /var/log/ and later on the installed system under
/var/log/installer.) Please compress large files using gzip.

</screen></informalexample>

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.

</para>
  </sect2>
 </sect1>
