[syslinux] vesamenu.c32 + include + CLI woes

Bryan Perry bperry at novell.com
Thu Feb 14 16:21:05 PST 2008


Hi all,

In June 2007 Jerry Nelson started a thread on this mailing list about a problem he was seeing. The thread was http://syslinux.zytor.com/archives/2007-June/008673.html

After several hours of searching through the list, I am still convinced that his problem was never solved and is very valid. I recently moved from the old syslinux config options model (all labels in 1 default config file) to having a main menu and submenus using vesamenu.c32. The main menu points to all of the submenus and also has a label for localboot. Each submenu has tons of labels that fit the category of the submenu.

The problem is that not every user wants to navigate the menu structure to find the label they want to boot, but they would rather hit escape to get the boot: prompt and type in the memorized label like they used to in the old syslinux model. However, hitting escape and getting the boot: prompt only recognizes the label in the default config file and not in any of the submenu config files. I too have tried MANY attempts at using CONFIG and INCLUDE directives, but have been unsuccessful. Using just the INCLUDE option still dumps all of the labels from the included file into my main menu and really makes a mess of things.

I would even be fine adding all the labels from all of the submenu config files into the main menu config if there was any way for them not to show up in the menu.

Please help, my forehead hurts from pounding it on the keyboard.....


Here is what my main menu config file that gets loaded by default looks like:

*****************************************************************
# Graphical Menu Config...

default vesamenu.c32
PROMPT 0
TIMEOUT 300
SAY Please enter boot label:
F1 gfx/menu-help.conf
#INCLUDE gfx/menu-all.conf
MENU BACKGROUND back.jpg

menu color title        1;37;40      #ffffffff #00000000 std
menu color border       1;37;40      #ffffffff #00000000 std
menu color tabmsg       1;31;40      #ff8fff89 #00000000 std
menu color sel          7;37;40      #ffef0bd2 #ffa3d3f8 all
menu color hotsel       7;37;40      #ffef0bd2 #ffa3d3f8 all
menu color unsel        1;31;40      #b0ffcf00 #00000000 std
menu color hotkey       1;31;40      #ffffff00 #00000000 std
menu color timeout_msg  37;40        #80ffffff #00000000 std
menu color timeout      1;31;40      #ffff0000 #00000000 std
menu color help         1;37;40      #ffffffff #00000000 std
menu color msg01        37;40        #80ffffff #00000000 std

MENU WIDTH 55
MENU MARGIN 1
MENU PASSWORDMARGIN 3
MENU ROWS 21
MENU TABMSGROW 27
MENU HELPMSGROW 28
MENU HELPMSGENDROW 28
MENU CMDLINEROW 27
MENU ENDROW 28
#MENU PASSWORDROW 27
MENU TIMEOUTROW 28
MENU TITLE Welcome to the SLED PXE / Install System

# Help menu
label help
        MENU DISABLE
        MENU LABEL   ^F1 - Help Screen
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-help.conf

LABEL harddisk
        MENU DEFAULT
        MENU LABEL ^Boot from local disk
        localboot 1
        MENU SEPARATOR

# openSuSUE menu
label opensuse
#TEXT HELP
#These are the installable openSuSE distributions
#ENDTEXT
        MENU LABEL   ^openSuSE Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-opensuse.conf

# NLD menu
label nld
        MENU LABEL   ^Novell Linux Desktop Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-nld.conf

# SLED menu
label sled
        MENU LABEL   ^SLED Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-sled.conf

# SLES menu
label sles
        MENU LABEL   S^LES Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-sles.conf

# Novell menu
label novell
        MENU LABEL   O^ther Novell Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-novell.conf

# Redhat menu
label redhat
        MENU LABEL   ^Redhat & Fedora Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-redhat.conf

# Other menu
label other
        MENU LABEL   Ot^her Distributions
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-other.conf

# Misc menu
label misc
        MENU LABEL   ^Misc Options & Utilities
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-misc.conf
        MENU SEPARATOR

# Main menu
label main
        MENU LABEL   M^ain Menu
        KERNEL vesamenu.c32
        APPEND pxelinux.cfg/gfx-default

*****************************************************************


An example of one of the submenu config files would be:
*****************************************************************
# Default boot option to use
DEFAULT vesamenu.c32

# Prompt user for selection
PROMPT 0

# Help menu
label help
        MENU DISABLE
        MENU LABEL   F1 - Help Screen
        KERNEL vesamenu.c32
        APPEND gfx/menu-default gfx/menu-help.conf

# Boot Local Disk
label harddisk
        MENU DEFAULT
        MENU LABEL Boot from local disk
        localboot 1
        MENU SEPARATOR

#Options Here
# SuSE Linux 9.2 Professional - 32 Bit
label suse9.2
  MENU LABEL ^A. suse9.2     - SuSE Linux 9.2 - 32 Bit
  kernel kernels/suse9.2
  append initrd=initrds/suse9.2.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse92 splash=silent showopts

uSE Linux 9.2 Professional - 64 Bit
label suse9.2-64
  MENU LABEL ^B. suse9.2-64  - SuSE Linux 9.2 - 64 Bit
  kernel kernels/suse9.2-64
  append initrd=initrds/suse9.2-64.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse92 splash=silent showopts

# SuSE Linux 9.3 Professional - 32 Bit
label suse9.3
  MENU LABEL ^C. suse9.3     - SuSE Linux 9.3 - 32 Bit
  kernel kernels/suse9.3
  append initrd=initrds/suse9.3.img ramdisk_size=65536 install=nfs://XXX.XXX.249.243/install/suse93 splash=silent showopts

# SuSE Linux 9.3 Professional - 64 Bit
label suse9.3-64
  MENU LABEL ^D. suse9.3-64  - SuSE Linux 9.3 - 64 Bit
  kernel kernels/suse9.3-64
  append initrd=initrds/suse9.3-64.img ramdisk_size=65536 install=nfs://XXX.XXX.249.243/install/suse93 splash=silent showopts

# openSuSE 10.0 - 32 Bit
label suse10
  MENU LABEL ^E. suse10      - openSuSE 10.0 - 32 Bit
  kernel kernels/suse10
  append initrd=initrds/suse10.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse10 splash=silent showopts

# openSuSE 10.0 - 64 Bit
label suse10-64
  MENU LABEL ^F. suse10-64   - openSuSE 10.0 - 64 Bit
  kernel kernels/suse10-64
  append initrd=initrds/suse10-64.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse10_64 splash=silent showopts

# openSuSE 10.1 - 32 Bit
label suse10.1
  MENU LABEL ^G. suse10.1    - openSuSE 10.1 - 32 Bit
  kernel kernels/suse10.1
  append initrd=initrds/suse10.1.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse101 splash=silent showopts

# openSuSE 10.2 - 32 Bit
label suse10.2
  MENU LABEL ^H. suse10.2    - openSuSE 10.2 - 32 Bit
  kernel kernels/suse10.2
  append initrd=initrds/suse10.2.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse102 splash=silent showopts

# openSuSE 10.2 - 64 Bit
label suse10.2-64
  MENU LABEL ^I. suse10.2-64 - openSuSE 10.2 - 64 Bit
  kernel kernels/suse10.2-64
  append initrd=initrds/suse10.2-64.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse102_64 splash=silent showopts

# openSuSE 10.3 - 32 Bit
label suse10.3
  MENU LABEL ^J. suse10.3    - openSuSE 10.3 - 32 Bit
  kernel kernels/suse10.3
  append initrd=initrds/suse10.3.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse103 splash=silent showopts

# openSuSE 10.3 - 64 Bit
label suse10.3-64
  MENU LABEL ^K. suse10.3-64 - openSuSE 10.3 - 64 Bit
  kernel kernels/suse10.3-64
  append initrd=initrds/suse10.3-64.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse103_64 splash=silent showopts

# openSuSE 11.0 - 32 Bit
label suse11
  MENU LABEL ^L. suse11      - openSuSE 11.0 - 32 Bit
  kernel kernels/suse11
  append initrd=initrds/suse11.img ramdisk_size=65536 insmod=e100 install=nfs://XXX.XXX.249.243/install/suse11 splash=silent showopts
MENU SEPARATOR

# Return to Main Menu
LABEL MainMenu
        MENU LABEL Main Menu
        KERNEL vesamenu.c32
        APPEND pxelinux.cfg/gfx-default

******************************************************************

Thanks in advance for any help in solving this little configuration dilema.

-Bryan





More information about the Syslinux mailing list