summaryrefslogtreecommitdiff
path: root/ca/install-methods/tftp
diff options
context:
space:
mode:
authorJoey Hess <joeyh@debian.org>2005-10-07 19:51:38 +0000
committerJoey Hess <joeyh@debian.org>2005-10-07 19:51:38 +0000
commit1ea73eea5ecc6a8ed901316049259aee737ee554 (patch)
tree03a077f0b1b1548f3c806bd1c5795964fba0fb52 /ca/install-methods/tftp
downloadinstallation-guide-1ea73eea5ecc6a8ed901316049259aee737ee554.zip
move manual to top-level directory, split out of debian-installer package
Diffstat (limited to 'ca/install-methods/tftp')
-rw-r--r--ca/install-methods/tftp/bootp.xml72
-rw-r--r--ca/install-methods/tftp/dhcp.xml97
-rw-r--r--ca/install-methods/tftp/rarp.xml64
3 files changed, 233 insertions, 0 deletions
diff --git a/ca/install-methods/tftp/bootp.xml b/ca/install-methods/tftp/bootp.xml
new file mode 100644
index 000000000..b6683f0ad
--- /dev/null
+++ b/ca/install-methods/tftp/bootp.xml
@@ -0,0 +1,72 @@
+<!-- retain these comments for translator revision tracking -->
+<!-- original version: 28997 untranslated -->
+
+
+ <sect2 condition="supports-bootp" id="tftp-bootp">
+ <title>Setting up BOOTP server</title>
+<para>
+
+There are two BOOTP servers available for GNU/Linux, the CMU
+<command>bootpd</command> and the other is actually a DHCP server, ISC
+<command>dhcpd</command>, which are contained in the
+<classname>bootp</classname> and <classname>dhcp</classname> packages
+in &debian;.
+
+</para><para>
+
+To use CMU <command>bootpd</command>, you must first uncomment (or
+add) the relevant line in <filename>/etc/inetd.conf</filename>. On
+&debian;, you can run <userinput>update-inetd --enable
+bootps</userinput>, then <userinput>/etc/init.d/inetd
+reload</userinput> to do so. Elsewhere, the line in question should
+look like:
+
+<informalexample><screen>
+bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
+</screen></informalexample>
+
+Now, you must create an <filename>/etc/bootptab</filename> file. This
+has the same sort of familiar and cryptic format as the good old BSD
+<filename>printcap</filename>, <filename>termcap</filename>, and
+<filename>disktab</filename> files. See the
+<filename>bootptab</filename> manual page for more information. For
+CMU <command>bootpd</command>, you will need to know the hardware
+(MAC) address of the client. Here is an example
+<filename>/etc/bootptab</filename>:
+
+<informalexample><screen>
+client:\
+ hd=/tftpboot:\
+ bf=tftpboot.img:\
+ ip=192.168.1.90:\
+ sm=255.255.255.0:\
+ sa=192.168.1.1:\
+ ha=0123456789AB:
+</screen></informalexample>
+
+You will need to change at least the <quote>ha</quote> option, which
+specifies the hardware address of the client. The <quote>bf</quote>
+option specifies the file a client should retrieve via TFTP; see
+<xref linkend="tftp-images"/> for more details.
+
+<phrase arch="mips">
+On SGI Indys you can just enter the command monitor and type
+<userinput>printenv</userinput>. The value of the
+<userinput>eaddr</userinput> variable is the machine's MAC address.
+</phrase>
+
+</para><para>
+
+By contrast, setting up BOOTP with ISC <command>dhcpd</command> is
+really easy, because it treats BOOTP clients as a moderately special
+case of DHCP clients. Some architectures require a complex
+configuration for booting clients via BOOTP. If yours is one of
+those, read the section <xref linkend="dhcpd"/>. Otherwise, you
+will probably be able to get away with simply adding the
+<userinput>allow bootp</userinput> directive to the configuration
+block for the subnet containing the client, and restart
+<command>dhcpd</command> with <userinput>/etc/init.d/dhcpd
+restart</userinput>.
+
+</para>
+ </sect2>
diff --git a/ca/install-methods/tftp/dhcp.xml b/ca/install-methods/tftp/dhcp.xml
new file mode 100644
index 000000000..f51eb2622
--- /dev/null
+++ b/ca/install-methods/tftp/dhcp.xml
@@ -0,0 +1,97 @@
+<!-- retain these comments for translator revision tracking -->
+<!-- original version: 29400 untranslated -->
+
+ <sect2 condition="supports-dhcp" id="dhcpd">
+ <title>Setting up a DHCP server</title>
+<para>
+
+One free software DHCP server is ISC <command>dhcpd</command>.
+In &debian;, this is available in the <classname>dhcp</classname> package.
+Here is a sample configuration file for it (usually
+<filename>/etc/dhcpd.conf</filename>):
+
+<informalexample><screen>
+option domain-name "example.com";
+option domain-name-servers ns1.example.com;
+option subnet-mask 255.255.255.0;
+default-lease-time 600;
+max-lease-time 7200;
+server-name "servername";
+
+subnet 192.168.1.0 netmask 255.255.255.0 {
+ range 192.168.1.200 192.168.1.253;
+ option routers 192.168.1.1;
+}
+
+host clientname {
+ filename "/tftpboot/tftpboot.img";
+ server-name "servername";
+ next-server servername;
+ hardware ethernet 01:23:45:67:89:AB;
+ fixed-address 192.168.1.90;
+}
+</screen></informalexample>
+
+Note: the new (and preferred) <classname>dhcp3</classname> package uses
+<filename>/etc/dhcp3/dhcpd.conf</filename>.
+
+</para><para>
+
+In this example, there is one server
+<replaceable>servername</replaceable> which performs all of the work
+of DHCP server, TFTP server, and network gateway. You will almost
+certainly need to change the domain-name options, as well as the
+server name and client hardware address. The
+<replaceable>filename</replaceable> option should be the name of the
+file which will be retrieved via TFTP.
+
+</para><para>
+
+After you have edited the <command>dhcpd</command> configuration file,
+restart it with <userinput>/etc/init.d/dhcpd restart</userinput>.
+
+</para>
+
+ <sect3 arch="i386">
+ <title>Enabling PXE Booting in the DHCP configuration</title>
+<para>
+Here is another example for a <filename>dhcp.conf</filename> using the
+Pre-boot Execution Environment (PXE) method of TFTP.
+
+<informalexample><screen>
+option domain-name "example.com";
+
+default-lease-time 600;
+max-lease-time 7200;
+
+allow booting;
+allow bootp;
+
+# The next paragraph needs to be modified to fit your case
+subnet 192.168.1.0 netmask 255.255.255.0 {
+ range 192.168.1.200 192.168.1.253;
+ option broadcast-address 192.168.1.255;
+# the gateway address which can be different
+# (access to the internet for instance)
+ option routers 192.168.1.1;
+# indicate the dns you want to use
+ option domain-name-servers 192.168.1.3;
+}
+
+group {
+ next-server 192.168.1.3;
+ host tftpclient {
+# tftp client hardware address
+ hardware ethernet 00:10:DC:27:6C:15;
+ filename "/tftpboot/pxelinux.0";
+ }
+}
+</screen></informalexample>
+
+Note that for PXE booting, the client filename <filename>pxelinux.0</filename>
+is a boot loader, not a kernel image (see <xref linkend="tftp-images"/>
+below).
+
+</para>
+ </sect3>
+ </sect2>
diff --git a/ca/install-methods/tftp/rarp.xml b/ca/install-methods/tftp/rarp.xml
new file mode 100644
index 000000000..c6fd184d4
--- /dev/null
+++ b/ca/install-methods/tftp/rarp.xml
@@ -0,0 +1,64 @@
+<!-- retain these comments for translator revision tracking -->
+<!-- original version: 28997 untranslated -->
+
+
+ <sect2 condition="supports-rarp" id="tftp-rarp">
+ <title>Setting up RARP server</title>
+<para>
+
+To setup RARP, you need to know the Ethernet address (a.k.a. the MAC address)
+of the client computers to be installed.
+If you don't know this information, you can
+
+<phrase arch="sparc"> pick it off the initial OpenPROM boot messages, use the
+OpenBoot <userinput>.enet-addr</userinput> command, or </phrase>
+
+boot into <quote>Rescue</quote> mode (e.g., from the rescue floppy) and use the
+command <userinput>/sbin/ifconfig eth0</userinput>.
+
+</para><para>
+
+On a RARP server system using a Linux 2.2.x kernel,
+you need to populate the kernel's RARP table.
+To do this, run the following commands:
+
+<informalexample><screen>
+# <userinput>/sbin/rarp -s
+<replaceable>client-hostname</replaceable>
+<replaceable>client-enet-addr</replaceable></userinput>
+
+# <userinput>/usr/sbin/arp -s
+<replaceable>client-ip</replaceable>
+<replaceable>client-enet-addr</replaceable></userinput>
+</screen></informalexample>
+
+If you get
+
+<informalexample><screen>
+SIOCSRARP: Invalid argument
+</screen></informalexample>
+
+you probably need to load the RARP kernel module or else recompile the
+kernel to support RARP. Try <userinput>modprobe rarp</userinput> and
+then try the <command>rarp</command> command again.
+
+</para><para>
+
+On a RARP server system using a Linux 2.4.x kernel,
+there is no RARP module, and
+you should instead use the <command>rarpd</command> program. The
+procedure is similar to that used under SunOS in the following
+paragraph.
+
+</para><para>
+
+Under SunOS, you need to ensure that the Ethernet hardware address for
+the client is listed in the <quote>ethers</quote> database (either in the
+<filename>/etc/ethers</filename> file, or via NIS/NIS+) and in the
+<quote>hosts</quote> database. Then you need to start the RARP daemon.
+In SunOS 4, issue the command (as root):
+<userinput>/usr/etc/rarpd -a</userinput>; in SunOS 5, use
+<userinput>/usr/sbin/rarpd -a</userinput>.
+
+</para>
+ </sect2>