[syslinux] gpxe + SYSLINUX menus = Fail?

Sebastian Herbszt herbszt at gmx.de
Tue Mar 16 13:01:20 PDT 2010


Shao Miller wrote:
> Andrew Stuart wrote:
>>
>> On 3/15/2010 3:59 PM, Andrew Stuart wrote:
>> > On 3/15/2010 3:36 PM, Andrew Stuart wrote:
>> >> I am attempting to setup a test gpxe(linux.0) http site, to test among
>> >> other things the recent dynamic option 252 solution.
>> >>
>> >> In the process of investigation I stumbled across
>> >> http://www.etherboot.org/wiki/appnotes/authmenus which indicates the
>> >> gpxe can launch vesamenu.c32 directly. Various other pages on
>> >> etherboot's site indicate menu.c32/vesamenu.c32 can be used
>> >> independently as well.
>> >>
>> >> Has this changed? I have spent quite a bit of time trying to get the
>> >> authmenus example working, and it is one failure after another.
>>
> 
> gPXE implements some of the COMBOOT support that is native to Syslinux 
> variants.  This support is not updated as frequently as Syslinux itself, 
> nor is it as complete, to the best of my knowledge.  Since it is in 
> general a good idea to tie your COMBOOT32 modules to your Syslinux 
> version, this is somewhat difficult in the gPXE case, since its 
> "Syslinux" code doesn't get updated all that often.

$ grep syslinux_configuration_file ./src/arch/i386/interface/syslinux/comboot_call.c
static char __data16_array ( syslinux_configuration_file, [] ) = "";
#define syslinux_configuration_file __use_data16 ( syslinux_configuration_file )
                ix86->regs.bx = ( ( unsigned ) __from_data16 ( syslinux_configuration_file ) );

(vesa)menu.c32 uses syslinux_config_file() to get the config file name. gPXE just returns an
empty string, so the menu system can't find the file resulting in no defined labels.

You can try to specify a config file name as argument while calling the module.

- Sebastian




More information about the Syslinux mailing list