[syslinux] Graphical menu seperate cfg file

Ryan McLean ryanm at accelrys.com
Thu Sep 21 02:03:26 PDT 2006


My files:

pxelinux.cfg/default:
--------------------------------
# Default boot option to use
DEFAULT vesamenu.c32

# Prompt user for selection
PROMPT 0

# Menu Configuration
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU TITLE RHWS Main Menu


# Menus
LABEL x86-4
        MENU LABEL ^32Bit (x86) - 4.x
#       MENU HIDE
        KERNEL vesamenu.c32
        APPEND gfx/default conf/x86-4.conf
-----------------------------------------------------

conf/x86-4.conf
-----------------------------------------------------
# Default boot option to use
DEFAULT vesamenu.c32

# Prompt user for selection
PROMPT 0

# Time until default is selected
TIMEOUT 100

# Menu Configuration
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 12
MENU TABMSGROW 18
MENU CMDLINEROW 18
MENU ENDROW 24
MENU PASSWORDROW 11
MENU TIMEOUTROW 20
MENU TITLE 32Bit (x86) RHWS 4.x OS Choice

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

gfx/default
----------------------------------------------------------
# vesamenu Default cfg
#
# MENU BACKGROUND filename
MENU BACKGROUND back.jpg

# MENU COLOR element ansi foreground background

menu color screen               37;40      #80ffffff #00000000
menu color border               30;44      #40000000 #00000000
menu color title                        1;36;44    #c00090f0 #00000000
menu color unsel                37;44      #90ffffff #00000000
menu color hotkey               1;37;44    #ffffffff #00000000
menu color sel                  7;37;40    #e0000000 #20ff8000
menu color hotsel               1;7;37;40  #e0400000 #20ff8000
menu color scrollbar            30;44      #40000000 #00000000
menu color tabmsg               31;40      #90ffff00 #00000000
menu color cmdmark              1;36;40    #c000ffff #00000000
menu color cmdline              37;40      #c0ffffff #00000000
menu color pwdborder            30;47      #80ffffff #20ffffff
menu color pwdheader            31;47      #80ff8080 #20ffffff
menu color pwdentry             30;47      #80ffffff #20ffffff
menu color timeout_msg  37;40      #80ffffff #00000000
menu color timeout              1;37;40    #c0ffffff #00000000

----------------------------------------------------------------------------------

Unexpected behaviour:

1. My main menu has no background ( the bg it has i assume is a built in 
default)
2. On switching from my 2nd menu back to the main menu i get a black 
screen with the prompt "boot:"  pressing enter clears this and displays my 
main menu as above (ie no custom bg just defaults)
3. If i edit the APPEND line in conf/x86-4.conf that returns me to my main 
menu to "APPEND gfx/default pxelinux.cfg/default" it works.

Other than the above seems to work fine (only been playing with it for 
15min so may be more to come.. hopefully not though)

May I suggest the following as poss solutions:
1. Where we declare we want to use vesamenu at the top of each cfg file we 
pass the "default" gfx cfg file we want to use there.. "DEFAULT 
vesamenu.c32 gfx/default"
2. We have a fixed file location like pxelinux, if there is a folder 
called gfx it will use the file there called default if present and then 
additional/other files are declared inline as they are at present
3. A constant is added to the top of each file #!cfg or #!gfx and 
depending which is present then the file is either menu items or gfx 
configuration

Appoligies if I seem blunt above but just wanted to list what I viewed as 
unexpected in a simple and direct way.
I truely am grateful that you have begun to implement this as it will save 
me (and alot of other people) lots of work for simple changes.

Regards,


Ryan McLean


More information about the Syslinux mailing list