[ipxe-devel] vesamenu.c32 freezes

Andrew Bobulsky rulerof at gmail.com
Thu Oct 20 15:22:14 UTC 2011

Hello Michael,

You're right in some respects, and I've experienced this problem
myself, but ended up just working around it rather than actually
trying to resolve the issue.... it just took less time :P

Anyway, at some point, I think it all runs out of memory or something.
 Perhaps it's just a COM32 thing, but chaining modules one after the
other, even the same one as is your case here, keeps all of the
previous instances of that module loaded.  One module hands control
off to the next, rather than exiting and instructing iPXE (or any
other COM32-capable bootloader) on what to load next...  Come to think
of it, /that/ might be possible with iPXE's scripting engine.  GET a
URI that determines the client's current state, and hand back what it
needs over and over again, ensuring you always exit the menu module
after talking to the webserver.  Or something like that.

If anyone has a solution to the menu-chaining thing, I'm just as
interested as you are :)

Andrew Bobulsky

On Thu, Oct 20, 2011 at 9:47 AM, Pereira
<pereira at informatik.uni-freiburg.de> wrote:
> Hello everyone,
> I tried to implement a user-specific bootmenu as described in this
> tutorial ->  http://etherboot.org/wiki/appnotes/authmenus
> I use the vesamenu.c32 (Syslinux 3.86) directly, therefore chaining
> vesamenu.c32 with a dynamically generated menu.cfg.
> 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.
> So the sequence is something like this:
> bios ->  pxe ->  ipxe ->  vesamenu.32 (login-menu)<=>  vesamenu.c32
> (group-menu)<=>  vesamenu.c32 (bootmenu)
> Everything works fine, I get a default-menu with the option to log-In,
> after login a group menu is displayed and after that
> the bootmenu is displayed.
> The problem: I can switch between the different menus exactly 5 times,
> then the computer freezes,
> if I have debug messages enabled it falls back to the ipxe shell.
> Is it maybe because of the limited heap size in ipxe? What exactly
> happens when vesamenu.c32 is loaded out of ipxe?
> The ipxe instance is still running in background?
> Any help is greatly appreciated!
> Michael
> _______________________________________________
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
> https://lists.ipxe.org/mailman/listinfo/ipxe-devel

More information about the ipxe-devel mailing list