From 1ea73eea5ecc6a8ed901316049259aee737ee554 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 7 Oct 2005 19:51:38 +0000 Subject: move manual to top-level directory, split out of debian-installer package --- eu/install-methods/tftp/bootp.xml | 78 +++++++++++++++++++++++++++ eu/install-methods/tftp/dhcp.xml | 111 ++++++++++++++++++++++++++++++++++++++ eu/install-methods/tftp/rarp.xml | 73 +++++++++++++++++++++++++ 3 files changed, 262 insertions(+) create mode 100644 eu/install-methods/tftp/bootp.xml create mode 100644 eu/install-methods/tftp/dhcp.xml create mode 100644 eu/install-methods/tftp/rarp.xml (limited to 'eu/install-methods/tftp') diff --git a/eu/install-methods/tftp/bootp.xml b/eu/install-methods/tftp/bootp.xml new file mode 100644 index 000000000..1b0df1d95 --- /dev/null +++ b/eu/install-methods/tftp/bootp.xml @@ -0,0 +1,78 @@ + + + + + + Setting up BOOTP server + + +There are two BOOTP servers available for GNU/Linux, the CMU +bootpd and the other is actually a DHCP server, ISC +dhcpd, which are contained in the +bootp and dhcp packages +in &debian;. + + + +To use CMU bootpd, you must first uncomment (or +add) the relevant line in /etc/inetd.conf. On +&debian;, you can run update-inetd --enable +bootps, then /etc/init.d/inetd +reload to do so. Elsewhere, the line in question should +look like: + + + +bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120 + + + + + +Now, you must create an /etc/bootptab file. This +has the same sort of familiar and cryptic format as the good old BSD +printcap, termcap, and +disktab files. See the +bootptab manual page for more information. For +CMU bootpd, you will need to know the hardware +(MAC) address of the client. Here is an example +/etc/bootptab: + + + +client:\ + hd=/tftpboot:\ + bf=tftpboot.img:\ + ip=192.168.1.90:\ + sm=255.255.255.0:\ + sa=192.168.1.1:\ + ha=0123456789AB: + + + +You will need to change at least the "ha" option, which specifies the +hardware address of the client. The "bf" option specifies the file a +client should retrieve via TFTP; see + for more details. + + +On SGI Indys you can just enter the command monitor and type +printenv. The value of the +eaddr variable is the machine's MAC address. + + + + +By contrast, setting up BOOTP with ISC dhcpd 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 . Otherwise, you +will probably be able to get away with simply adding the +allow bootp directive to the configuration +block for the subnet containing the client, and restart +dhcpd with /etc/init.d/dhcpd +restart. + + + diff --git a/eu/install-methods/tftp/dhcp.xml b/eu/install-methods/tftp/dhcp.xml new file mode 100644 index 000000000..a6ba6286e --- /dev/null +++ b/eu/install-methods/tftp/dhcp.xml @@ -0,0 +1,111 @@ + + + + + + Setting up a DHCP server + + +At the time of this writing, there is only one DHCP server which is +free software, namely ISC dhcpd. In &debian;, this +is available in the dhcp package. Here is a +sample configuration file for it (usually +/etc/dhcpd.conf): + + + +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; +} + + + +Note: the new (and preferred) dhcp3 package uses +/etc/dhcp3/dhcpd.conf. + + + +In this example, there is one server +"servername" 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 +"filename" option should be the name of the +file which will be retrieved via TFTP. + + + +After you have edited the dhcpd configuration file, +restart it with /etc/init.d/dhcpd restart. + + + + + PXE Booting + +Here is another example for a dhcp.conf using the +Pre-boot Execution Environment (PXE) method of TFTP. + + + +option domain-name "example.com"; + +default-lease-time 6048; +max-lease-time 604800; + +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 subnet-mask 255.255.255.0; + 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; +} + +host tftpserver { +# tftp server ip address + fixed-address 192.168.1.90; +# tftp server hardware address + hardware ethernet 01:23:45:67:89:AB; +} + +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"; + } +} + + + +Note that for PXE booting, the client filename pxelinux.0 +is a boot loader, not a kernel image (see +below). + + + + diff --git a/eu/install-methods/tftp/rarp.xml b/eu/install-methods/tftp/rarp.xml new file mode 100644 index 000000000..26f2b681a --- /dev/null +++ b/eu/install-methods/tftp/rarp.xml @@ -0,0 +1,73 @@ + + + + + + Setting up RARP server + + +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 + + pick it off the initial OpenPROM boot messages, use the +OpenBoot .enet-addr command, or + +boot into ``Rescue'' mode (e.g., from the rescue floppy) and use the +command /sbin/ifconfig eth0. + + + +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: + + + + +/sbin/rarp -s +client-hostname +client-enet-addr + + + + +/usr/sbin/arp -s +client-ip +client-enet-addr + + + + + + +If you get + + +SIOCSRARP: Invalid argument + + +you probably need to load the RARP kernel module or else recompile the +kernel to support RARP. Try modprobe rarp and +then try the rarp command again. + + + +On a RARP server system using a Linux 2.4.x kernel, +there is no RARP module, and +you should instead use the rarpd program. The +procedure is similar to that used under SunOS in the following +paragraph. + + + +Under SunOS, you need to ensure that the Ethernet hardware address for +the client is listed in the ``ethers'' database (either in the +/etc/ethers file, or via NIS/NIS+) and in the +``hosts'' database. Then you need to start the RARP daemon. In SunOS +4, issue the command (as root): +/usr/etc/rarpd -a; in SunOS 5, use +/usr/sbin/rarpd -a. + + + -- cgit v1.2.3