summaryrefslogtreecommitdiff
path: root/doc/pxechn.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/pxechn.txt')
-rw-r--r--doc/pxechn.txt106
1 files changed, 75 insertions, 31 deletions
diff --git a/doc/pxechn.txt b/doc/pxechn.txt
index a09bbe2b..7853d9ab 100644
--- a/doc/pxechn.txt
+++ b/doc/pxechn.txt
@@ -1,88 +1,131 @@
-= pxechn.c32 =
+= pxechn.c32(1) =
:doctype: manpage
:author: Gene Cumm
:email: gene.cumm@gmail.com
-:revdate: 2012-05-27
+:revdate: 2012-09-16
== NAME ==
-pxechn.c32 - Chainboot to new NBP
+pxechn.c32 - Chainboot to new Network Boot Program (NBP)
== SYNOPSIS ==
+[verse]
*pxechn.c32* [-h | --help | -?]
*pxechn.c32* -r 'FILE'
*pxechn.c32* 'FILE' ['OPTIONS']
== DESCRIPTION ==
-Chainboot to a new NBP (Network Boot Program) 'FILE' with options to adjust PXE packet #3 (PXENV_PACKET_TYPE_CACHED_REPLY) to alter end behavior. 'FILE' may be a filename, an IP::FN ( 192.168.1.1::path/to/file.0 ), or URL. 'FILE' is parsed to adjust the DHCP 'sname' field/option 66 and 'file' field/option 67.
+Chainboot to a new Network Boot Program (NBP) 'FILE' with options to
+adjust PXE packet #3 (PXENV_PACKET_TYPE_CACHED_REPLY) to alter end
+behavior. 'FILE' may be a filename, an IP::FN (
+192.168.1.1::path/to/file.0 ), or URL. 'FILE' is parsed to adjust the
+DHCP 'sname' field/option 66 and 'file' field/option 67.
// but these may be override-able in the future.
== OPTIONS ==
*-c* 'CONFIG'::
- PXELINUX config file (DHCP Option 209).
+ 'config' file for PXELINUX (DHCP Option 209).
// *-f* 'MOD'::
-// Force behavior specified by 'MOD'
+// 'Force' behavior specified by modifier 'MOD'
//
// *-g* 'HOST'::
-// Set DHCP gateway/relay. Parsed by pxe_dns().
+// Set 'gateway'/relay DHCP field to 'HOST'. Parsed by pxe_dns().
//
*-h*, *--help*, *-?*::
- Print usage information; invalid options will also cause this.
+ Print 'help'/usage information; invalid options will also cause
+ this.
// *-n*::
-// Use native methods, ignoring underlying gPXE/iPXE.
+// Use 'native' methods, ignoring underlying gPXE/iPXE.
//
// *-N*::
-// Use non-native methods to utilize gPXE/iPXE (if available).
+// Use 'non-native' methods to utilize gPXE/iPXE (if available).
//
*-o* 'OPT.TYPE=VALUE'::
- Specify a generic option. 'OPT' is in 'DECIMAL INPUT' format (below). 'TYPE' specifies the output type and input syntax. 'b'yte, 'w'ord(2B), 'l'ong(4B), 'q'uad(8B), character 's'tring and colon-separated he'x' string (case insensitive; bytes must have 2 digits and each byte must be separated). byte, word, long and quad input values must meet criteria for 'DECIMAL INPUT'
+ Set 'option'. 'OPT' is in 'DECIMAL INPUT' format (below). 'TYPE'
+ specifies the output type and input syntax (listed here in quotes
+ and at present, 1 character). ''b'yte', ''w'ord'(2B), ''l'ong'(4B),
+ ''q'uad'(8B), character ''s'tring' and colon-separated 'he'x''
+ string (case insensitive; bytes must have 2 digits and each byte
+ must be separated). byte, word, long and quad input values must
+ meet criteria for 'DECIMAL INPUT'
*-p* 'PATH'::
- PXELINUX path (DHCP Option 210).
+ 'path' option for PXELINUX (DHCP Option 210).
*-r*::
- Call the PXE stack with PXENV_RESTART_TFTP. _Must_ be the only option and before 'FILE'.
+ 'restart'. Call the PXE stack with PXENV_RESTART_TFTP. _Must_ be
+ the only option and before 'FILE'.
+
+*-S*::
+ Set 'sip' based on sname field/option 66 (by direct IP if a
+ period-delimited address or otherwise DNS).
*-t* 'SECONDS'::
- PXELINUX timeout (DHCP Option 211).
+ 'timeout' option for PXELINUX (DHCP Option 211).
// *-u*::
-// Copy UUID (Option 97) if found in packet #1
+// Copy 'UUID' (Option 97) if found in packet #1
*-w*::
- wait after loading before booting for user input.
+ 'wait'. After loading, wait for user input before booting.
*-W*::
- Enable WDS (Windows Deployment Services) - specific options.
+ Enable 'WDS' (Windows Deployment Services) - specific options.
+ 'FILE' (or its overrides for DHCP fields siaddr and file) must point
+ at the WDS server.
+ *NOTE:* As of 2012-05-31, there is a known issue with gPXE/iPXE, at
+ least with undionly.kkpxe.
+// PXELINUX asks gPXE/iPXE to unload, reverting to an underlying stack
== DECIMAL INPUT ==
-All parameters that are defaulted to decimal format are processed by *strtoul*(3) with a base of 0 which allows alternate formats and finds a suitable non-space separating character.
+All parameters that are defaulted to decimal format are processed by
+*strtoul*(3) with a base of 0 which allows alternate formats and finds a
+suitable non-space separating character.
== EXAMPLES ==
-pxechn.c32 http://myhost.dom.loc/path/nbp.0 -c myconfig
- Load nbp.0 and set PXELINUX config (option 209).
-
-pxechn.c32 gpxelinux.0 -p http://172.16.23.1/tftp/ -w -c myconfig -o 15.s=domain.loc -o 6.x=0A:01:01:02:ac:17:4D:Ec -
- Load gpxelinux.0 from the current directory, set prefix, wait to execute, set first config, set the domain name and 2 domain name servers (case mixed to show insensitivity; 10.1.1.2 and 172.23.77.236).
-
-pxechn.c32 gpxelinux.0 -p http://172.16.23.1/tftp/ -w -X A012345678 -x 197:00d0de00
-pxechn.c32 gpxelinux.0 -p http://172.16.23.1/tftp/ -w -X A012:3456:78 -x 197:00-d0-de-00
- Both of these are equivalent. Load gpxelinux.0 (relative to the current directory and not altering sname/option 66), set the PXELINUX path prefix, wait after loading, set option 160 to 0x12 0x34 0x56 0x78, and option 197 to 0x00 0xD0 0xDE 0x00.
+`pxechn.c32 http://myhost.dom.loc/path/nbp.0 -c myconfig`::
+ Load nbp.0 and set PXELINUX config (option 209).
+
+`pxechn.c32 gpxelinux.0 -p http://10.1.1.4/tftp/ -w -c myconfig -o 15.s=domain.loc -o 6.x=0A:01:01:02:ac:17:4D:Ec -`::
+ Load gpxelinux.0 from the current directory, set prefix, wait to
+ execute, set first config, set the domain name and 2 domain name
+ servers (case mixed to show insensitivity; 10.1.1.2 and
+ 172.23.77.236).
+
+`pxechn.c32 gpxelinux.0 -p http://10.1.1.4/tftp/ -w -o 0xA0.x=12:34:56:78 -x 197.x=00:d0:de:00`::
+ Load gpxelinux.0 (relative to the current directory and not
+ altering sname/option 66), set the PXELINUX path prefix, wait after
+ loading, set option 160 to 0x12 0x34 0x56 0x78, and option 197 to
+ 0x00 0xD0 0xDE 0x00.
+
+`pxechn.c32 10.1.1.8:boot\x86\wdsnbp.com -W`::
+ Load wdsnbp.com from 10.1.1.8 and copy DHCP Option 66 to DHCP
+ field sname if there's room.
+
+`pxechn.c32 10.1.1.4:boot\x86\wdsnbp.com -W -o 66.x=0a:01:01:08 -S`::
+ Load wdsnbp.com from 10.1.1.4, point packets to 10.1.1.8 for use
+ with WDS, copy DHCP Option 66 to DHCP field sname if there's room
+ and decode this to an IPv4 address.
== NOTES ==
-Please note that some NBPs may ignore packet #3 by either not examining it at all or by issuing its own DHCP DISCOVER/REQUEST, negating all DHCP field/option modifications by pxechn.c32.
+Please note that some NBPs may ignore packet #3 by either not examining
+it at all or by issuing its own DHCP DISCOVER/REQUEST, negating all DHCP
+field/option modifications by pxechn.c32, including Microsoft Windows
+Server 2008R2 WDS's wdsnbp.com. See also option '-W'.
-URL specifications in 'FILE' that include user/password before the host will currently cause the siaddr field to not be set properly.
+URL specifications in 'FILE' that include user/password before the host
+will currently cause the siaddr field to not be set properly.
-The non-space constraint is due to how Syslinux variants parse the command line as of 2012-01-12.
+The non-space constraint is due to how Syslinux variants parse the
+command line as of 2012-09-16.
== AUTHOR ==
@@ -91,4 +134,5 @@ The non-space constraint is due to how Syslinux variants parse the command line
== COPYRIGHT ==
Copyright \(C) 2012 {author}. Free use of this software is granted under
-the terms of the GNU General Public License (GPL).
+the terms of the GNU General Public License (GPL), version 2 (GPLv2)
+(or, at your option, any later version).