[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#140579: Report: tftpboot install successfull



Le jeu 02/01/2003 à 06:25, Chris Tillman a écrit :
> On Tue, Dec 31, 2002 at 03:50:56PM +0100, nb wrote:
> > PXE is the most natural method in the sens that it doesn't need any
> > supplementary media.
> > It's the one everyone can use on a real diskless machine.
> > It finally worked for me and her's what I've done for that.
> 
> See what you think of the following doc patch:
> 

A very good job.
See just two remarks.

> 
> Index: inst-methods.sgml
> ===================================================================
> RCS file: /cvs/debian-boot/boot-floppies/documentation/en/inst-methods.sgml,v
> retrieving revision 1.142
> diff -u -r1.142 inst-methods.sgml
> --- inst-methods.sgml	22 Sep 2002 15:07:44 -0000	1.142
> +++ inst-methods.sgml	2 Jan 2003 05:21:28 -0000
> @@ -1181,14 +1181,61 @@
>    fixed-address 192.168.1.90;
>  }
>  </example>
> +    <p>
>  In this example, there is one server <var>"servername"</var> 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 <var>"filename"</var> option
>  should be the name of the file which will be retrieved via TFTP.  
> -
> +    <p>
>  After you have edited the <prgn>dhcpd</prgn> configuration file, restart it
> -with <tt>/etc/init.d/dhcpd restart</tt>. ]]>
> +with <tt>/etc/init.d/dhcpd restart</tt>. 
> +
> +<![ %i386 [
> +    <p>
> +Here is another example for a <file>dhcp.conf</file> using the
> +Pre-boot Execution Environment (PXE) method of TFTP.
> +<example>
> +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 10.1.1.255;

192.168.1.255 would be better

> +# 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 10.1.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";
> + }
> +}
> +</example>
> +Note that for PXE booting, the client filename <file>pxelinux.0</file>
> +is a boot loader, not a kernel image (see <ref id="tftp-images">
> +below).
> +<!-- end i386 --> ]]>
> +<!-- end supports-dhcp --> ]]>
>  
>    <sect1 id="tftpd">Enabling the TFTP Server
>      <p>
> @@ -1210,6 +1257,12 @@
>  reload</tt> (for potato/2.2 and newer systems use <tt>/etc/init.d/inetd
>  reload</tt>); on other machines, find out the process ID for
>  <prgn>inetd</prgn>, and run <tt>kill -HUP <var>inetd-pid</var></tt>.
> +<![ %i386 [
> +    <p>
> +To use the Pre-boot Execution Environment (PXE) method of TFTP 
> +booting, you will need a TFTP server with <tt>tsize</tt> support.
> +On a &debian; server, <prgn>tftp-hpa</prgn> qualifies.
> +]]>
>  
>  <![ %mips [
>  <p>
> @@ -1257,6 +1310,31 @@
>  First issue the <tt>obase=16</tt> command to set the output to hex,
>  then enter the individual components of the client IP one at a time.
>  As for <var>client-architecture</var>, try out some values.

In chapter 4.5.5 it is said that "the TFTP client will look for is
client-ip-in-hexclient-architecture". It is completely wrong.
In our case the "default" file is sufficient.
In fact it will try : C0A801 (192.168.1.200 in little endian as in x86)
then : 0A01010C8
then : 0A01010C
then : 0A01010
.
.
.
then : 0
and finally : default

> +]]>
> +
> +<![ %i386 [
> +    <p>
> +For PXE booting, you can use the boot loader included with
> +<prgn>syslinux</prgn>: <file>pxelinux.0</file>. The boot loader should
> +be copied into the <file>/tftpboot</file> folder. Then create a
> +subdirectory within <file>/tftpboot</file> named
> +<file>/tftpboot/pxelinux.cfg</file>, and within that directory create
> +a text file <file>default</file>. Here is an example of a
> +<file>default</file> file's contents:
> +<example>
> +default lanlinux
> +prompt 1
> +
> +label lanlinux
> +  kernel tftpboot.img
> +  append load initrd=root.bin devfs=nomount
> +</example>
> +<tt>devfs=nomount</tt> is important, because without it there may be
> +problems mounting the root.bin file system once the kernel is booted.
> +    <p>
> +Finally, copy the <file>tftpboot.img</file> and <file>root.bin</file>
> +files from the Debian ftp archive into the <file>/tftpboot</file>
> +folder, where the bootloader will be looking for them.
>  ]]>
>  
>  <![ %mipsel [
-- 
nb <nb@dagami.org>



Reply to: