I currently have a menu system with multiple submenus. I switch menus reloading vesamenu.c32 and the submenu's config file for each submenu. I want convert my existing menu system into one config file with multiple layers of menus using ' MENU BEGIN' and 'MENU END'. I have the impression that the conversion can be done: -- old -- LABEL menuA MENU LABEL Menu A KERNEL vesamenu.c32 APPEND subA.cfg -- new -- MENU BEGIN Menu A INCLUDE subA.cfg MENU END However if / when I do this I'm unclear if a label name for an particular item is in scope only for that MENU section it is declared inside or if it needs to be globally unique. For example if the resulting menu (after includes) was something like the one below, would it be valid and would LOCALBOOT get executed on timeout? ONTIMEOUT default MENU BEGIN Menu A LABEL default KERNEL hdt.c32 MENU BEGIN Menu A1 LABEL default KERNEL vmlinuz1 MENU END MENU BEGIN Menu A2 LABEL default KERNEL vmlinuz2 MENU END MENU END LABEL default LOCALBOOT 0
Good day, Jeremy. In regards to your question concerning the scope of LABEL labels: Please use globally unique labels. We can pretend that the "simple menu system" is a superset of a "normal" Syslinux config-file, which doesn't have menus. At the CLI, a label is only going to do one thing. Using config.c32 or [vesa]menu.c32 to load a different config-file [set] is something like starting over, but that's different than using the INCLUDE statement, as far as I know. - Shao Miller