diff options
authorhpa <hpa>1999-09-17 08:41:26 +0000
committerhpa <hpa>1999-09-17 08:41:26 +0000
commite5e742dd7290944d5f3cf4a7fb5f8363c504f18e (patch)
parent97efa4a63bf561ca6086b787bf7304709ca8a368 (diff)
Add documentation for PXELINUX. Cleanup header in syslinux.doc.
Fix Loading message for pxelinux initrd.
4 files changed, 118 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index af9ffd0d..23d496ab 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+Changes in 1.46:
+ * New program PXELINUX to do network booting over the PXE
+ (Pre-Execution Environment) network booting protocol. See
+ pxelinux.doc for details.
Changes in 1.45:
* Serial console support. See syslinux.doc for details.
diff --git a/pxelinux.asm b/pxelinux.asm
index 03e646c0..e6e44afb 100644
--- a/pxelinux.asm
+++ b/pxelinux.asm
@@ -2000,6 +2000,8 @@ loadinitrd:
mov edi,[InitRDat] ; initrd load address
mov [es:su_ramdiskat],edi ; Offset for ram disk
push si
+ mov si,loading_msg
+ call cwritestr
mov si,InitRDCName ; Write ramdisk name
call cwritestr
mov si,dotdot_msg ; Write dots
@@ -2033,8 +2035,6 @@ rd_last_moby:
pop si ; Clean up the stack
call crlf
- mov si,loading_msg ; Write new "Loading " for
- call cwritestr ; the benefit of the kernel
pop es ; Restore original ES
diff --git a/pxelinux.doc b/pxelinux.doc
new file mode 100644
index 00000000..2e4dd591
--- /dev/null
+++ b/pxelinux.doc
@@ -0,0 +1,107 @@
+ Version 1.46
+ September ??, 1999
+ A bootloader for Linux using the PXE network booting protocol
+ Copyright (C) 1999 H. Peter Anvin
+This program is provided under the terms of the GNU General Public
+License, version 2 or, at your option, any later version. There is no
+warranty, neither expressed nor implied, to the function of this
+program. Please see the included file COPYING for details.
+PXELINUX is a SYSLINUX derivative, for booting Linux off a network
+server, using a network ROM conforming to the Intel PXE (Pre-Execution
+Environment) specification. PXELINUX is *not* a program that is
+intended to be flashed or burned into a PROM on the network card; if
+you want that, check out NILO (http://www.nilo.org/). NILO can also
+be used to create a PXE-compliant boot PROM for most network cards
+which have drivers for Linux or FreeBSD.
+PXELINUX operates in many ways like SYSLINUX. If you are not familiar
+with SYSLINUX, read syslinux.doc first, since this documentation only
+explains the differences.
+PXELINUX currently requires that the boot server has a TFTP server
+which supports the "tsize" TFTP option (RFC 1784/RFC 2349). The
+source for such a TFTP server is available from the Netboot home page
+at <http://www.han.de/~gero/netboot/english/download.html>.
+On the TFTP server, create the directory "/tftpboot", and copy the
+following files to it:
+ pxelinux.bin - from the SYSLINUX distribution
+ any kernel or initrd images you want to boot
+Finally, create the directory "/tftpboot/pxelinux.cfg". The
+configuration file (equivalent of syslinux.cfg) will live in this
+directory. Because more than one system may be booted from the same
+server, the configuration file name depends on the IP address of the
+booting machine. PXELINUX will search for its config file on the boot
+server in the following way:
+ First, it will search for the config file using its own IP address
+ in upper case hexadecimal, e.g. -> C000025B.
+ If that file is not found, it will remove one hex digit and try
+ again. For, if C000025B is not found, it will try
+ C000025, C00002, C0000, C000, C00, C0, and C in that order.
+ Finally, it will try looking for a file named "default" (in lower
+ case).
+It should be noted that all filename references are relative to the
+/tftpboot directory, or whatever directory the pxelinux.bin lives in.
+PXELINUX generally requires that filenames are 31 characters or
+shorter in length.
+PXELINUX does not support MTFTP, and I have no immediate plans of
+doing so.
+The PXE protocol is very complex, but I have successfully booted an
+Intel Nightshade-based PXE host (with "Intel LANDesk(R) Service Agent
+II"), using a DHCP-enabled BOOTP server with the following
+configuration in /etc/bootptab:
+ :bf=/tftpboot/pxelinux.bin:\
+ :T60=505845436c69656e74:\
+ :T43=0603:\
+ :T43=08000001ssssssss:\
+ :sm=<netmask>:\
+ :gw=<default_gateway>:\
+ :ds=<dns_servers>:
+... where "ssssssss" is the IP address of the boot server, in
+Your mileage may vary.
+PXELINUX is still very much beta; however, I'd be interested in
+hearing about any experiences you might have with it, good or bad. If
+you have any comments, please use the SYSLINUX mailing list mentioned
+at the end of syslinux.doc. Thanks!
+Currently known problems:
++ Requires a TFTP server which supports the "tsize" option.
++ Probably doesn't work if the BOOTP/DHCP server and the TFTP server
+ aren't the same.
++ The error recovery routine doesn't work quite right.
++ There may be funnies with memory management. The PXE spec has no
+ decent way of telling it to free up all memory and unchain any
+ interrupts; it allows the base stack to be unloaded, but not the
+ UNDI driver.
diff --git a/syslinux.doc b/syslinux.doc
index 072f90a3..2fbdfd82 100644
--- a/syslinux.doc
+++ b/syslinux.doc
@@ -1,6 +1,6 @@
- Version 1.45
- June 14, 1999
+ Version 1.46
+ September ??, 1999
A bootloader for Linux using MS-DOS floppies
@@ -11,6 +11,8 @@ License, version 2 or, at your option, any later version. There is no
warranty, neither expressed nor implied, to the function of this
program. Please see the included file COPYING for details.
SYSLINUX is a boot loader for the Linux operating system which
operates off an MS-DOS/Windows FAT filesystem. It is intended to
simplify first-time installation of Linux, and for creation of rescue-