[ipxe-devel] Chainloading from iPXE to other PXE servers

Michael Brown mbrown at fensystems.co.uk
Wed Mar 30 20:43:00 UTC 2011


On Wednesday 30 Mar 2011 20:57:44 James A. Peltier wrote:
> This did not seem to work.  I assume that the the ${mac},
>  ${asset:uristring} variables would be expanded within the syslinux menu
>  system.
> 
> Creating an entry of
> 
> LABEL iPXE
>         MENU DEFAULT
>         MENU LABEL iPXE Testing
>         TEXT HELP
>            Test to see if MAC address ${mac} for asset ${asset:uristring}
>         ENDTEXT
> 
> in the syslinux vesamenu.c32 /tftpboot/pxelinux.cfg/default did not result
>  in a MAC address and asset tag being substituted in.

The expansion will happen only in the names of files that are booted.  Sorry 
for not being clear about that.

The reason for this is that nothing in vesamenu.c32 will pass the menu text 
into iPXE to be expanded.  The only things that get passed to iPXE are the 
filenames to be loaded, so those are the only things that we can perform 
expansion on.

I wonder if it would be useful to extend the PXE_FILE API (which is what 
pxelinux uses to access iPXE's extended features) to include an "expand 
string" call.  pxelinux could then choose to use this to expand any strings on 
demand, including menu text as well as filenames.

If I implement this PXE_FILE API extension in iPXE, does anyone want to 
volunteer to add the relevant functionality to syslinux?

Michael



More information about the ipxe-devel mailing list