[syslinux] ISOLinux, menu.c32 and PXE handoff?

Jeffrey Hutzelman jhutz at cmu.edu
Mon Jul 21 12:09:30 PDT 2008


--On Friday, July 18, 2008 05:53:10 PM -0700 "H. Peter Anvin" 
<hpa at zytor.com> wrote:

> Bishop wrote:
>>
>> The gPXE disk (which offers an 'all-drivers' option!) seems to boot.  The
>> big win would be if I could tack a machine::pxelinux.0 into an APPEND on
>> the isolinux.cfg on that gPXE iso.
>>
>    [...]
>>
>> I suspect I've made a bone-head noob error here, but no amount of
>> pondering and permutation seems to get me that last inch.  It looks like
>> pxelinux.0 is running menu.c32, so I'm glad to hear I can maybe get a
>> menu system and a handoff to choochoo, but don't spend too much time on
>> it -- I'd rather see features and fixes go into the product than waste
>> your time in support.
>>
>> Thanks for both your time, so far, and I still hope I'm not too much of a
>> bother!
>>
>
> The noob error is the following: chainloading a .0 or even a
> configuration file doesn't set a prefix; the prefix is still what is
> delivered from the DHCP server.  Right now there isn't any way to
> override that (other than changing the source code.)

Actually, this is exactly the problem that pxechain.cbt was designed for. 
It rewrites the server and path reported by PXE so that the next .0 in 
sequence sees the location it was loaded from, instead of what was 
originally provided by DHCP.  We use this to chainload PXELINUX from 
PXELINUX, changing config directories in the process.

To use, find pxechain.asm in the archives for this list, assemble, and 
include pxechain.cbt alongside the config file for the first pxelinux. 
Then use configuration like this:

LABEL choochoo
	MENU LABEL Choochoo Linux tools
	kernel pxechain.cbt
	append 192.168.2.101::/linux-install/pxelinux.0

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+ at cmu.edu>
   Carnegie Mellon University - Pittsburgh, PA




More information about the Syslinux mailing list