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

 <sect1 condition="supports-tftp" id="install-tftp">
 <title>Preparing Files for TFTP Net Booting</title>
<para>

If your machine is connected to a local area network, you may be able
to boot it over the network from another machine, using TFTP. If you
intend to boot the installation system from another machine, the
boot files will need to be placed in specific locations on that machine,
and the machine configured to support booting of your specific machine.

</para><para>

You need to set up a TFTP server, and for many machines a DHCP 
server<phrase condition="supports-rarp">, or RARP
server</phrase><phrase condition="supports-bootp">, or BOOTP
server</phrase>.

</para><para>

<phrase condition="supports-rarp">The Reverse Address Resolution Protocol (RARP) is
one way to tell your client what IP address to use for itself. Another
way is to use the BOOTP protocol.</phrase>

<phrase condition="supports-bootp">BOOTP is an IP protocol that
informs a computer of its IP address and where on the network to obtain
a boot image.</phrase>

The DHCP (Dynamic Host Configuration Protocol) is a more flexible,
backwards-compatible extension of BOOTP.
Some systems can only be configured via DHCP.

</para>

<!--
<para arch="powerpc">

For PowerPC, if you have a NewWorld Power Macintosh machine, it is a
good idea to use DHCP instead of BOOTP.  Some of the latest machines
are unable to boot using BOOTP.

</para>
-->

<para>

The Trivial File Transfer Protocol (TFTP) is used to serve the boot
image to the client.  Theoretically, any server, on any platform,
which implements these protocols, may be used.  In the examples in
this section, we shall provide commands for SunOS 4.x, SunOS 5.x
(a.k.a. Solaris), and GNU/Linux.

<note arch="x86"><para>

For a &debian-gnu; server we recommend <classname>tftpd-hpa</classname>.
It's written by the same author as the <classname>syslinux</classname>
bootloader and is therefore least likely to cause issues.
A good alternative is <classname>atftpd</classname>.

</para></note>

</para>

&tftp-rarp.xml;
&tftp-dhcp.xml;
&tftp-bootp.xml;

  <sect2 id="tftpd">
  <title>Enabling the TFTP Server</title>
<para>

To get the TFTP server ready to go, you should first make sure that
<command>tftpd</command> is enabled.

</para><para>

In the case of <classname>tftpd-hpa</classname> there are two ways the
service can be run. It can be started on demand by the system's
<classname>inetd</classname> daemon, or it can be set up to run as an
independent daemon. Which of these methods is used is selected when the
package is installed and can be changed by reconfiguring the package.

</para>
<note><para>

Historically, TFTP servers used <filename>/tftpboot</filename> as directory
to serve images from. However, &debian-gnu; packages may use other directories
to comply with the <ulink url="&url-fhs-home;">Filesystem Hierarchy
Standard</ulink>. For example, <classname>tftpd-hpa</classname> by default
uses <filename>/srv/tftp</filename>. You may have to adjust the
configuration examples in this section accordingly.

</para></note>
<para>

All <command>in.tftpd</command> alternatives available in &debian; should
log TFTP requests to the system logs by default. Some of them support a
<userinput>-v</userinput> argument to increase verbosity.
It is recommended to check these log messages in case of boot problems
as they are a good starting point for diagnosing the cause of errors.

</para>
  </sect2>

  <sect2 id="tftp-images">
  <title>Move TFTP Images Into Place</title>
<para>

Next, place the TFTP boot image you need, as found in
<xref linkend="where-files"/>, in the <command>tftpd</command>
boot image directory.  You may have to make a link from that
file to the file which <command>tftpd</command> will use for booting a
particular client.  Unfortunately, the file name is determined by the
TFTP client, and there are no strong standards.

</para>

<!--
<para arch="powerpc">

On NewWorld Power Macintosh machines, you will need to set up the
<command>yaboot</command> boot loader as the TFTP boot image.
<command>Yaboot</command> will then retrieve the kernel and RAMdisk
images via TFTP itself. You will need to download the following files
from the <filename>netboot/</filename> directory:

<itemizedlist>
<listitem><para>

<filename>vmlinux</filename>

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

<filename>initrd.gz</filename>

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

<filename>yaboot</filename>

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

<filename>yaboot.conf</filename>

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

<filename>boot.msg</filename>

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

</para>
-->

<para arch="x86">

For PXE booting, everything you should need is set up in the
<filename>netboot/netboot.tar.gz</filename> tarball. Simply extract this
tarball into the <command>tftpd</command> boot image directory. Make sure
your dhcp server is configured to pass <filename>pxelinux.0</filename>
to <command>tftpd</command> as the filename to boot.
For UEFI machines, you will need to pass an appropriate EFI boot image name
(such as <filename>/debian-installer/amd64/bootnetx64.efi</filename>).

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