diff options
Diffstat (limited to 'en/install-methods/tftp')
-rw-r--r-- | en/install-methods/tftp/bootp.xml | 72 | ||||
-rw-r--r-- | en/install-methods/tftp/dhcp.xml | 97 | ||||
-rw-r--r-- | en/install-methods/tftp/rarp.xml | 64 |
3 files changed, 233 insertions, 0 deletions
diff --git a/en/install-methods/tftp/bootp.xml b/en/install-methods/tftp/bootp.xml new file mode 100644 index 000000000..110d2405d --- /dev/null +++ b/en/install-methods/tftp/bootp.xml @@ -0,0 +1,72 @@ +<!-- retain these comments for translator revision tracking --> +<!-- $Id$ --> + + + <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/en/install-methods/tftp/dhcp.xml b/en/install-methods/tftp/dhcp.xml new file mode 100644 index 000000000..ee18f73e4 --- /dev/null +++ b/en/install-methods/tftp/dhcp.xml @@ -0,0 +1,97 @@ +<!-- retain these comments for translator revision tracking --> +<!-- $Id$ --> + + <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/en/install-methods/tftp/rarp.xml b/en/install-methods/tftp/rarp.xml new file mode 100644 index 000000000..e59b94587 --- /dev/null +++ b/en/install-methods/tftp/rarp.xml @@ -0,0 +1,64 @@ +<!-- retain these comments for translator revision tracking --> +<!-- $Id$ --> + + + <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> |