1 There are two menu systems included with SYSLINUX, the advanced menu
2 system, and the simple menu system.
5 +++ THE ADVANCED MENU SYSTEM +++
7 The advanced menu system, written by Murali Krishnan Ganapathy, is
8 located in the menu/ subdirectly. It allows the user to create
9 hierarchial submenus, dynamic options, checkboxes, and just about
10 anything you want. It requires that the menu is compiled from a
11 simple C file, see menu/simple.c and menu/complex.c for examples.
13 The advanced menu system doesn't support serial console at this time.
15 See menu/README for more information.
18 +++ THE SIMPLE MENU SYSTEM +++
20 The simple menu system is a single module located at
21 com32/modules/vesamenu.c32 (graphical) or com32/modules/menu.c32 (text
22 mode only). It uses the same configuration file as the regular
23 SYSLINUX command line, and displays all the LABEL statements.
25 To use the menu system, simply make sure [vesa]menu.c32 is in the
26 appropriate location for your boot medium (the same directory as the
27 configuration file for SYSLINUX, EXTLINUX and ISOLINUX, and the same
28 directory as pxelinux.0 for PXELINUX), and put the following options
29 in your configuration file:
35 There are a few menu additions to the command line, all starting with
36 the keyword MENU; like the rest of the SYSLINUX config file
37 language, it is case insensitive:
41 Give the menu a title. The title is presented at the top of
46 (Only valid after a LABEL statement.)
47 Changes the label displayed for a specific entry. This allows
48 you to have a label that isn't suitable for the command line,
53 MENU LABEL Soft Cap ^Linux 9.6.36
54 KERNEL softcap-9.6.36.bzi
57 # A very dense operating system
59 MENU LABEL ^Windows CE/ME/NT
63 The ^ symbol in a MENU LABEL statement defines a hotkey.
64 The hotkey will be highlighted in the menu and will move the
65 menu cursor immediately to that entry.
67 Reusing hotkeys is disallowed, subsequent entries will not be
68 highlighted, and will not work.
70 Keep in mind that the LABELs, not MENU LABELs, must be unique,
71 or odd things will happen to the command-line.
75 (Only valid after a LABEL statement.)
76 Suppresses a particular LABEL entry from the menu.
81 (Only valid after a LABEL statement.)
82 Indicates that this entry should be the default. If no
83 default is specified, use the first one.
88 (Only valid after a LABEL statement.)
89 Sets a password on this menu entry. "passwd" can be either a
90 cleartext password or a SHA-1 encrypted password; use the
91 included Perl script "sha1pass" to encrypt passwords.
92 (Obviously, if you don't encrypt your passwords they will not
93 be very secure at all.)
95 If you are using passwords, you want to make sure you also use
96 the settings "NOESCAPE 1", "PROMPT 0", and either set
97 "ALLOWOPTIONS 0" or use a master password (see below.)
99 If passwd is an empty string, this menu entry can only be
100 unlocked with the master password.
103 MENU MASTER PASSWD passwd
105 Sets a master password. This password can be used to boot any
106 menu entry, and is required for the [Tab] and [Esc] keys to
110 MENU BACKGROUND filename
112 For vesamenu.c32, sets the background image. The image should
113 be 640x480 pixels and either in PNG or JPEG format.
116 MENU COLOR element ansi foreground background
118 Sets the color of element "element" to the specified color
121 screen Rest of the screen
124 unsel Unselected menu item
125 hotkey Unselected hotkey
127 hotsel Selected hotkey
129 tabmsg Press [Tab] message
130 cmdmark Command line marker
132 pwdborder Password box border
133 pwdheader Password box header
134 pwdentry Password box contents
135 timeout_msg Timeout message
136 timeout Timeout counter
139 "ansi" is a sequence of semicolon-separated ECMA-48 Set
140 Graphics Rendition (<ESC>[m) sequences:
142 0 reset all attributes to their defaults
144 4 set underscore (simulated with color on a color display)
147 22 set normal intensity
151 30 set black foreground
152 31 set red foreground
153 32 set green foreground
154 33 set brown foreground
155 34 set blue foreground
156 35 set magenta foreground
157 36 set cyan foreground
158 37 set white foreground
159 38 set underscore on, set default foreground color
160 39 set underscore off, set default foreground color
161 40 set black background
162 41 set red background
163 42 set green background
164 43 set brown background
165 44 set blue background
166 45 set magenta background
167 46 set cyan background
168 47 set white background
169 49 set default background color
171 These are used (a) in text mode, and (b) on the serial
175 "foreground" and "background" are color codes in #AARRGGBB
176 notation, where AA RR GG BB are hexadecimal digits for alpha
177 (opacity), red, green and blue, respectively. #00000000
178 represents fully transparent, and #ffffffff represents opaque
181 The current defaults are:
184 screen 37;40 #80ffffff #00000000
185 border 30;44 #40000000 #00000000
186 title 1;36;44 #c00090f0 #00000000
187 unsel 37;44 #90ffffff #00000000
188 hotkey 1;37;44 #ffffffff #00000000
189 sel 7;37;40 #cf101010 #20ff8000
190 hotsel 1;7;37;40 #ff353535 #20ff8000
191 scrollbar 30;44 #40000000 #00000000
192 tabmsg 31;40 #90ffff00 #00000000
193 cmdmark 1;36;40 #c000ffff #00000000
194 cmdline 37;40 #c0ffffff #00000000
195 pwdborder 30;47 #80ffffff #20ffffff
196 pwdheader 31;47 #80ff8080 #20ffffff
197 pwdentry 30;47 #80ffffff #20ffffff
198 timeout_msg 37;40 #80ffffff #00000000
199 timeout 1;37;40 #c0ffffff #00000000
204 MENU PASSWORDMARGIN 3
212 These options control the layout of the menu on the screen.
213 The values above are the defaults.
216 The menu system honours the TIMEOUT command; if TIMEOUT is specified
217 it will execute the ONTIMEOUT command if one exists, otherwise it will
218 pick the default menu option.
220 Normally, the user can press [Tab] to edit the menu entry, and [Esc]
221 to return to the SYSLINUX command line. However, if the configuration
222 file specifies ALLOWOPTIONS 0, these keys will be disabled, and if
223 MENU MASTER PASSWD is set, they require the master password.
225 The simple menu system supports serial console, using the normal
226 SERIAL directive. However, it can be quite slow over a slow serial
227 link; you probably want to set your baudrate to 38400 or higher if
228 possible. It requires a Linux/VT220/ANSI-compatible terminal on the
231 It is also possible to load a secondary configuration file, to get to
232 another menu. To do that, invoke menu.c32 with the name of the
233 secondary configuration file.
236 MENU LABEL Another Menu
238 APPEND othermenu.conf