[syslinux] pxechn.c32: Status

Gene Cumm gene.cumm at gmail.com
Sun Nov 7 05:12:22 PST 2010


Now that pxechain.com can work (with my patch to core/pxelinux.asm), a
PXE Chainload COM32 is not as big of a deal but I agree with HPA that
it would be a good idea, especially considering the possible
flexibility that this may allow.

For the moment, I've named the chain module pxechn.c32 in order to not
collide with the name pxechain.com when not specifying the .com/.c32
extension.  Currently, I've got pxechn.c32 to the point that it's
equivalent to just running the new nbp from PXELINUX (without a PXE
restart).

I'm looking at being able to either call the PXE API with opcode 0073h
(PXENV_RESTART_TFTP) or do it all ourselves.  I think that if it's
possible, it would also be nice to be able to specify parameters for
DHCP options 209, 210 and 211 (config, prefix and reboot) when doing
it ourselves.  However, editing the cached packets that the PXE stack
holds is a little dirty, unstable but needed.  I'll also want to
detect gPXE as it would be safer if I could tell gPXE to do it all for
us (is there a good callback for this?).

Proposed command line:

-Do it ourselves (or tell gPXE to; partially implemented)
pxechn.c32 _new_nbp_ [config [prefix [reboot]]]

where reboot is converted with strtoul and all other arguments are in
any applicable format (URL or PXELINUX-specific format) or a special
ignore character/string (probably "-" or "--" would be best) to allow
the later arguments to be specified.  I think this order would
probably provide the most common and logical order (since I'd think a
user is less likely to override the later arguments).

-Use PXENV_RESTART_TFTP (not implemented)
pxechn.c32 -r [[ipaddress]::]tftp_filename

Equivalent to "pxechain.com [[ipaddress]::]tftp_filename"

-- 
-Gene




More information about the Syslinux mailing list