[ipxe-devel] vesamenu.c32 freezes

Pereira pereira at informatik.uni-freiburg.de
Mon Oct 31 01:23:12 UTC 2011


Thank you Andrew and Michael for your help!

You were right. I eliminated the scripts as you suggested and it works 
perfectly now!



Am 21.10.2011 14:41, schrieb Michael Brown:
> On Thursday 20 Oct 2011 14:47:19 Pereira wrote:
>> When a user has successfully logged-in, he gets a menu with a list of
>> groups he is member of. After choosing a group another
>> vesamenu is loaded with the specific bootmenu of that group. He also has
>> the choice to switch group or log-out bz returning to the previous menu.
>> Every option in the loginmenu or groupmenu loads an ipxe script which
>> then loads vesamenu.c32 with a new menu.cfg.
>> <snip>
>> The problem: I can switch between the different menus exactly 5 times,
>> then the computer freezes,
> This sounds similar to an issue previously addressed:
>
>    http://git.ipxe.org/ipxe.git/commitdiff/8904cd5
>
> The above fix relies upon vesamenu.c32 directly loading a new .c32 image.
> Since you have vesamenu.c32 loading a script which then loads a .c32 image, I
> suspect you're not triggering the tail-recursion behaviour.
>
> iPXE allows images to replace themselves (analogous to using exec() rather
> than system() under Linux), but this self-replacing functionality is not
> currently exposed via any iPXE command and so is not available to scripts.
> (To do so would require an additional command that would call image_replace()
> or register_and_replace_image() and then call shell_stop() to terminate the
> current script.)
>
> Try eliminating the iPXE script between invocations of vesamenu.c32; that
> should allow you to switch between different menus as many times as you like.
>
> Michael



More information about the ipxe-devel mailing list