[gPXE] Pushing GPXE script to HTTP server

Gene Cumm gene.cumm at gmail.com
Thu Nov 4 07:59:46 EDT 2010


On Thu, Nov 4, 2010 at 02:09,  <htruong at tnhh.net> wrote:
> Today I had a chance to test and implement David's suggestions.
>
> It worked well for what I wanted if I do single boot, however I couldn't
> get the multi-boot menu to work.
>
> So my gpxe.conf looks like this:
>
> #!gpxe
> chain vesamenu.c32 multibootmenu.conf

I would have to assume that this is the chainloaded script ("chainload
http://host/script" from a previous message in thread).

> The station tries to switch graphics mode for a second and reboots.
>
> I guess that's because (vesa)menu.c32 of Syslinux couldn't find
> multibootmenu.conf (or whatever file it was supposed to read as its
> argument). I placed multibootmenu.conf and (vesa)menu.c32 in the same
> directory as gpxe.conf (which is hard-coded to the ROM).
>
> I wonder if there are tricks to make (vesa)menu.c32 to be able to read
> multibootmenu.conf. I used vesamenu.c32 from syslinux 4.01.

I would recommend against using vesamenu.c32 from v4.00+ with gPXE's
native COMBOOT API.  It will probably guarantee errors.  Use
vesamenu.c32 from 3.86.  There were some drastic changes from 3.xx to
4.xx.  By the way, you also can't load COM32 modules from versions
prior to 4.00 with 4.00+ (generates a user-visible error).

If you want/need to use vesamenu.c32 from 4.00+, you should load
pxelinux.0 from the same package/package set first.  I believe there's
an example either on the gPXE wiki or PXELINUX wiki page of how to set
options such that PXELINUX will grab a specific config file and set a
specific cwd (current working directory; including protocol and host).
 This should be easy to put into your second script (eliminating the
need to re-burn your ROMs).

-- 
-Gene


More information about the gPXE mailing list