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 keywords MENU or TEXT; 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.
76 (Only valid after a LABEL statement.)
77 Suppresses a particular LABEL entry from the menu.
82 (Only valid after a LABEL statement.)
83 Indicates that this entry should be the default. If no
84 default is specified, use the first one.
89 ... which can span multiple lines
92 (Only valid after a LABEL statement.)
93 Specifies a help text that should be displayed when a particular
94 selection is highlighted.
99 (Only valid after a LABEL statement.)
100 Sets a password on this menu entry. "passwd" can be either a
101 cleartext password or a SHA-1 encrypted password; use the
102 included Perl script "sha1pass" to encrypt passwords.
103 (Obviously, if you don't encrypt your passwords they will not
104 be very secure at all.)
106 If you are using passwords, you want to make sure you also use
107 the settings "NOESCAPE 1", "PROMPT 0", and either set
108 "ALLOWOPTIONS 0" or use a master password (see below.)
110 If passwd is an empty string, this menu entry can only be
111 unlocked with the master password.
114 MENU MASTER PASSWD passwd
116 Sets a master password. This password can be used to boot any
117 menu entry, and is required for the [Tab] and [Esc] keys to
121 MENU BACKGROUND filename
123 For vesamenu.c32, sets the background image. The image should
124 be 640x480 pixels and either in PNG or JPEG format.
127 MENU INCLUDE filename
129 Include the contents of the configuration file filename at
130 this point. Keep in mind that the included data is only seen
131 by the menu system; the core syslinux code does not parse this
132 command, so any labels defined in it are unavailable.
135 MENU AUTOBOOT message
137 Replaces the message "Automatic boot in # seconds". The
138 symbol # is replaced with the number of seconds remaining.
143 Replaces the message "Press [Tab] to edit options".
146 MENU NOTABMSG message
148 Takes the place of the TABMSG message if option editing is
149 disabled. Defaults to blank.
152 MENU PASSPROMPT message
154 Replaces the message "Password required".
157 MENU COLOR element ansi foreground background shadow
159 Sets the color of element "element" to the specified color
162 screen Rest of the screen
165 unsel Unselected menu item
166 hotkey Unselected hotkey
168 hotsel Selected hotkey
170 tabmsg Press [Tab] message
171 cmdmark Command line marker
173 pwdborder Password box border
174 pwdheader Password box header
175 pwdentry Password box contents
176 timeout_msg Timeout message
177 timeout Timeout counter
181 "ansi" is a sequence of semicolon-separated ECMA-48 Set
182 Graphics Rendition (<ESC>[m) sequences:
184 0 reset all attributes to their defaults
186 4 set underscore (simulated with color on a color display)
189 22 set normal intensity
193 30 set black foreground
194 31 set red foreground
195 32 set green foreground
196 33 set brown foreground
197 34 set blue foreground
198 35 set magenta foreground
199 36 set cyan foreground
200 37 set white foreground
201 38 set underscore on, set default foreground color
202 39 set underscore off, set default foreground color
203 40 set black background
204 41 set red background
205 42 set green background
206 43 set brown background
207 44 set blue background
208 45 set magenta background
209 46 set cyan background
210 47 set white background
211 49 set default background color
213 These are used (a) in text mode, and (b) on the serial
217 "foreground" and "background" are color codes in #AARRGGBB
218 notation, where AA RR GG BB are hexadecimal digits for alpha
219 (opacity), red, green and blue, respectively. #00000000
220 represents fully transparent, and #ffffffff represents opaque
224 "shadow" controls the handling of the graphical console text
225 shadow. Permitted values are "none" (no shadowing), "std" or
226 "standard" (standard shadowing - foreground pixels are
227 raised), "all" (both background and foreground raised), and
228 "rev" or "reverse" (background pixels are raised.)
231 If any field is set to "*" or omitted (at the end of the line)
232 then that field is left unchanged.
235 The current defaults are:
237 menu color screen 37;40 #80ffffff #00000000 std
238 menu color border 30;44 #40000000 #00000000 std
239 menu color title 1;36;44 #c00090f0 #00000000 std
240 menu color unsel 37;44 #90ffffff #00000000 std
241 menu color hotkey 1;37;44 #ffffffff #00000000 std
242 menu color sel 7;37;40 #e0000000 #20ff8000 all
243 menu color hotsel 1;7;37;40 #e0400000 #20ff8000 all
244 menu color scrollbar 30;44 #40000000 #00000000 std
245 menu color tabmsg 31;40 #90ffff00 #00000000 std
246 menu color cmdmark 1;36;40 #c000ffff #00000000 std
247 menu color cmdline 37;40 #c0ffffff #00000000 std
248 menu color pwdborder 30;47 #80ffffff #20ffffff std
249 menu color pwdheader 31;47 #80ff8080 #20ffffff std
250 menu color pwdentry 30;47 #80ffffff #20ffffff std
251 menu color timeout_msg 37;40 #80ffffff #00000000 std
252 menu color timeout 1;37;40 #c0ffffff #00000000 std
253 menu color help 37;40 #c0ffffff #00000000 std
258 MENU PASSWORDMARGIN 3
266 MENU HELPMSGENDROW -1
268 These options control the layout of the menu on the screen.
269 The values above are the defaults.
271 A negative value is relative to the calculated length of the
272 screen (25 for text mode, 28 for VESA graphics mode.)
275 The menu system honours the TIMEOUT command; if TIMEOUT is specified
276 it will execute the ONTIMEOUT command if one exists, otherwise it will
277 pick the default menu option.
279 Normally, the user can press [Tab] to edit the menu entry, and [Esc]
280 to return to the SYSLINUX command line. However, if the configuration
281 file specifies ALLOWOPTIONS 0, these keys will be disabled, and if
282 MENU MASTER PASSWD is set, they require the master password.
284 The simple menu system supports serial console, using the normal
285 SERIAL directive. However, it can be quite slow over a slow serial
286 link; you probably want to set your baudrate to 38400 or higher if
287 possible. It requires a Linux/VT220/ANSI-compatible terminal on the
291 +++ USING AN ALTERNATE CONFIGURATION FILE +++
294 It is also possible to load a secondary configuration file, to get to
295 another menu. To do that, invoke menu.c32 with the name of the
296 secondary configuration file.
299 MENU LABEL Another Menu
301 APPEND othermenu.conf
303 If you specify more than one file, they will all be read, in the order
304 specified. The dummy filename ~ (tilde) is replaced with the filename
305 of the main configuration file.
307 # The file graphics.conf contains common color and layout commands for
310 MENU LABEL Another Menu
312 APPEND graphics.conf othermenu.conf
314 # Return to the main menu
316 MENU LABEL Return to Main Menu
318 APPEND graphics.conf ~
320 See also the MENU INCLUDE directive above.