Rename pxelinux.bin to pxelinux.0 to match common PXE server conventions. syslinux-1.53-pre1
authorhpa <hpa>
Tue, 27 Feb 2001 22:50:33 +0000 (22:50 +0000)
committerhpa <hpa>
Tue, 27 Feb 2001 22:50:33 +0000 (22:50 +0000)
Makefile
NEWS
pxelinux.doc

index 0e8f25c..6a48839 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,11 +34,12 @@ VERSION = $(shell cat version)
 #
 SOURCES = ldlinux.asm syslinux.asm syslinux.c copybs.asm \
          pxelinux.asm pxe.inc mbr.asm
-BTARGET = bootsect.bin ldlinux.sys ldlinux.bin ldlinux.lst pxelinux.bin mbr.bin
+BTARGET = bootsect.bin ldlinux.sys ldlinux.bin ldlinux.lst pxelinux.0 mbr.bin
 ITARGET = syslinux.com syslinux copybs.com
 DOCS    = COPYING NEWS README TODO *.doc
 OTHER   = Makefile bin2c.pl now.pl genstupid.pl keytab-lilo.pl version \
          sys2ansi.pl
+OBSOLETE = pxelinux.bin
 
 all:   $(BTARGET) $(ITARGET)
        ls -l $(BTARGET) $(ITARGET)
@@ -60,8 +61,8 @@ ldlinux.bin: ldlinux.asm
        $(NASM) -f bin -dVERSION="'$(VERSION)'" -dDATE_STR="'$(DATE)'" -dHEXDATE="$(HEXDATE)" -l ldlinux.lst -o ldlinux.bin ldlinux.asm
        perl genstupid.pl < ldlinux.lst
 
-pxelinux.bin: pxelinux.asm
-       $(NASM) -f bin -dVERSION="'$(VERSION)'" -dDATE_STR="'$(DATE)'" -dHEXDATE="$(HEXDATE)" -l pxelinux.lst -o pxelinux.bin pxelinux.asm
+pxelinux.0: pxelinux.asm
+       $(NASM) -f bin -dVERSION="'$(VERSION)'" -dDATE_STR="'$(DATE)'" -dHEXDATE="$(HEXDATE)" -l pxelinux.lst -o pxelinux.0 pxelinux.asm
 
 bootsect.bin: ldlinux.bin
        dd if=ldlinux.bin of=bootsect.bin bs=512 count=1
@@ -104,6 +105,7 @@ install: all
 
 tidy:
        rm -f syslinux.lst copybs.lst *.o *_bin.c stupid.* pxelinux.lst
+       rm -f $(OBSOLETE)
 
 clean: tidy
        rm -f $(ITARGET)
diff --git a/NEWS b/NEWS
index 0ae785b..791ceb5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,13 @@
 Starting with 1.47, changes marked with SYSLINUX/PXELINUX apply to
 that specific program only; other changes apply to both.
 
+Changes in 1.53:
+       * PXELINUX: Rename pxelinux.bin to pxelinux.0, to match what
+         most PXE servers seem to expect.
+       * PXELINUX: Update the docs to outline how to work with the
+         kano.org.uk pxe server daemon.  A more complete example
+         setup still needs to be written.
+
 Changes in 1.52:
        * PXELINUX: Fix bugs introduced by new A20 code.  (SYSLINUX
          has also been changed for code consistency reasons, but I'm
index 7c425d2..3ba2b60 100644 (file)
@@ -29,7 +29,7 @@ explains the differences.
 On the TFTP server, create the directory "/tftpboot", and copy the
 following files to it:
 
-       pxelinux.bin            - from the SYSLINUX distribution
+       pxelinux.0              - from the SYSLINUX distribution
 
        any kernel or initrd images you want to boot
 
@@ -51,7 +51,7 @@ search for its config file on the boot server in the following way:
   C00002, C0000, C000, C00, C0, C, and default, in that order.
 
 It should be noted that all filename references are relative to the
-directory pxelinux.bin lives in (usually /tftpboot).  PXELINUX
+directory pxelinux.0 lives in (usually /tftpboot).  PXELINUX
 generally requires that filenames (including any relative path) are 31
 characters or shorter in length.
 
@@ -103,20 +103,23 @@ workarounds for this bug:
     ++++ SETTING UP THE DHCP SERVER ++++
 
 The PXE protocol uses a very complex set of extensions to DHCP or
-BOOTP.  Some PXE implementations can be coaxed to operate with a
-normal DHCP server; unfortunately so far no "magic bullet" which works
-with all PXE implementations work.
+BOOTP.  The best is probably to set up a "PXE boot server" on port
+4011 of your TFTP server; a free PXE boot server is available at:
 
-The best one currently known, using ISC dhcp 2.0 dhcpd.conf syntax:
+       http://www.kano.org.uk/projects/pxe/
+
+With such a boot server defined, you should be able to use the
+following DHCP set up, using ISC dhcp 2.0 dhcpd.conf syntax:
 
         allow booting;
         allow bootp;
 
-        filename "/tftpboot/pxelinux.bin" ;
+       # PXE-specific configuration directives...
+
         option dhcp-class-identifier "PXEClient";
-       option vendor-encapsulated-options 09:0f:80:00:0c:4e:65:74:77:6f:72:6b:20:62:6f:6f:74:0a:07:00:50:72:6f:6d:70:74:06:01:02:08:03:80:00:00:47:04:80:00:00:00:ff;
-       next-server <TFTP-server>;
-       # server-identifier <TFTP-server>;      # Illegal! See below
+       next-server <pxe-boot-server>;
+
+       # Standard configuration directives...
 
         option domain-name "<domain name>";
         option subnet-mask <subnet mask>;
@@ -131,6 +134,27 @@ The best one currently known, using ISC dhcp 2.0 dhcpd.conf syntax:
                 fixed-address <hostname>;
         }
 
+
+Some PXE implementations can be coaxed to operate with a normal DHCP
+server; unfortunately so far no "magic bullet" which works with all
+PXE implementations work.
+
+The best one currently known, using ISC dhcp 2.0 dhcpd.conf syntax:
+
+        allow booting;
+        allow bootp;
+
+       # PXE-specific configuration directives...
+
+        filename "/tftpboot/pxelinux.0" ;
+        option dhcp-class-identifier "PXEClient";
+       option vendor-encapsulated-options 09:0f:80:00:0c:4e:65:74:77:6f:72:6b:20:62:6f:6f:74:0a:07:00:50:72:6f:6d:70:74:06:01:02:08:03:80:00:00:47:04:80:00:00:00:ff;
+       next-server <TFTP-server>;
+       # server-identifier <TFTP-server>;      # Illegal! See below
+
+       # Standard configuration directives...
+       # Same as above
+
 However, some PXE implementations will only work this way if the
 "dhcp-class-identifier" and "vendor-encapsulated-options" are *not*
 present.  Intel Boot Client 3.0 and later are known to fall into this
@@ -142,12 +166,12 @@ will do this if you specify the -s (secure) option; this is
 recommended), you most likely should not include the /tftpboot prefix.
 
 If the DHCP and TFTP servers are not on the same machine, you are
-supposed to set up a DHCP server on port 4011 on the TFTP server; this
-is the "PXE boot server", which uses the DHCP protocol.  If this is
-not possible, you can try adding the directive "server-identifier
-<TFTP-server>;"  Unfortunately this is a violation of DHCP
-protocol, but some PXE implementations do not accept the next-server
-directive without it or the "boot server".
+supposed to set up a PXE boot server (see above) on port 4011 on the
+TFTP server; the "PXE boot server" is basically a modified DHCP server
+on a nonstandard port.  If this is not possible, you can try adding
+the directive "server-identifier <TFTP-server>;" Unfortunately this is
+a violation of DHCP protocol, but some PXE implementations do not
+accept the next-server directive without it or the "boot server".
 
 I have successfully booted an Intel N440BX ("Nightshade") motherboard
 with onboard Ethernet and "Intel LANDesk(R) Service Agent II version