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 Do not display the actual menu unless the user presses a key.
47 All that is displayed is a timeout message.
51 (Only valid after a LABEL statement.)
52 Changes the label displayed for a specific entry. This allows
53 you to have a label that isn't suitable for the command line,
58 MENU LABEL Soft Cap ^Linux 9.6.36
59 KERNEL softcap-9.6.36.bzi
62 # A very dense operating system
64 MENU LABEL ^Windows CE/ME/NT
68 The ^ symbol in a MENU LABEL statement defines a hotkey.
69 The hotkey will be highlighted in the menu and will move the
70 menu cursor immediately to that entry.
72 Reusing hotkeys is disallowed, subsequent entries will not be
73 highlighted, and will not work.
75 Keep in mind that the LABELs, not MENU LABELs, must be unique,
76 or odd things will happen to the command-line.
81 (Only valid after a LABEL statement.)
82 Suppresses a particular LABEL entry from the menu.
87 (Only valid after a LABEL statement.)
88 Indicates that this entry should be the default. If no
89 default is specified, use the first one.
94 ... which can span multiple lines
97 (Only valid after a LABEL statement.)
98 Specifies a help text that should be displayed when a particular
99 selection is highlighted.
104 (Only valid after a LABEL statement.)
106 Sets a password on this menu entry. "passwd" can be either a
107 cleartext password, a SHA-1 encrypted password (starting with
108 $4$), or and MD5 encrypted password (starting with $1$).
110 Use the included Perl scripts "sha1pass" or "md5pass" to
111 encrypt passwords. MD5 passwords are compatible with most
112 Unix password file utilities; SHA-1 passwords are probably
113 unique to SYSLINUX. Obviously, if you don't encrypt your
114 passwords they will not be very secure at all.
116 If you are using passwords, you want to make sure you also use
117 the settings "NOESCAPE 1", "PROMPT 0", and either set
118 "ALLOWOPTIONS 0" or use a master password (see below.)
120 If passwd is an empty string, this menu entry can only be
121 unlocked with the master password.
124 MENU MASTER PASSWD passwd
126 Sets a master password. This password can be used to boot any
127 menu entry, and is required for the [Tab] and [Esc] keys to
131 MENU BACKGROUND background
133 For vesamenu.c32, sets the background image. The background
134 can either be a color (see MENU COLOR) or the name of an image
135 file, which should be 640x480 pixels and either in PNG or JPEG
140 MENU INCLUDE filename
142 Include the contents of the configuration file filename at
145 In the case of MENU INCLUDE, the included data is only seen by
146 the menu system; the core syslinux code does not parse this
147 command, so any labels defined in it are unavailable.
150 MENU AUTOBOOT message
152 Replaces the message "Automatic boot in # second{,s}...". The
153 symbol # is replaced with the number of seconds remaining.
154 The syntax "{singular,[dual,]plural}" can be used to conjugate
160 Replaces the message "Press [Tab] to edit options".
163 MENU NOTABMSG message
165 Takes the place of the TABMSG message if option editing is
166 disabled. Defaults to blank.
169 MENU PASSPROMPT message
171 Replaces the message "Password required".
174 MENU COLOR element ansi foreground background shadow
176 Sets the color of element "element" to the specified color
179 screen Rest of the screen
182 unsel Unselected menu item
183 hotkey Unselected hotkey
185 hotsel Selected hotkey
187 tabmsg Press [Tab] message
188 cmdmark Command line marker
190 pwdborder Password box border
191 pwdheader Password box header
192 pwdentry Password box contents
193 timeout_msg Timeout message
194 timeout Timeout counter
196 msgXX Message (F-key) file attribute XX
198 ... where XX is two hexadecimal digits (the "plain text" is 07).
200 "ansi" is a sequence of semicolon-separated ECMA-48 Set
201 Graphics Rendition (<ESC>[m) sequences:
203 0 reset all attributes to their defaults
205 4 set underscore (simulated with color on a color display)
208 22 set normal intensity
212 30 set black foreground
213 31 set red foreground
214 32 set green foreground
215 33 set brown foreground
216 34 set blue foreground
217 35 set magenta foreground
218 36 set cyan foreground
219 37 set white foreground
220 38 set underscore on, set default foreground color
221 39 set underscore off, set default foreground color
222 40 set black background
223 41 set red background
224 42 set green background
225 43 set brown background
226 44 set blue background
227 45 set magenta background
228 46 set cyan background
229 47 set white background
230 49 set default background color
232 These are used (a) in text mode, and (b) on the serial
235 "foreground" and "background" are color codes in #AARRGGBB
236 notation, where AA RR GG BB are hexadecimal digits for alpha
237 (opacity), red, green and blue, respectively. #00000000
238 represents fully transparent, and #ffffffff represents opaque
241 "shadow" controls the handling of the graphical console text
242 shadow. Permitted values are "none" (no shadowing), "std" or
243 "standard" (standard shadowing - foreground pixels are
244 raised), "all" (both background and foreground raised), and
245 "rev" or "reverse" (background pixels are raised.)
247 If any field is set to "*" or omitted (at the end of the line)
248 then that field is left unchanged.
251 The current defaults are:
253 menu color screen 37;40 #80ffffff #00000000 std
254 menu color border 30;44 #40000000 #00000000 std
255 menu color title 1;36;44 #c00090f0 #00000000 std
256 menu color unsel 37;44 #90ffffff #00000000 std
257 menu color hotkey 1;37;44 #ffffffff #00000000 std
258 menu color sel 7;37;40 #e0000000 #20ff8000 all
259 menu color hotsel 1;7;37;40 #e0400000 #20ff8000 all
260 menu color scrollbar 30;44 #40000000 #00000000 std
261 menu color tabmsg 31;40 #90ffff00 #00000000 std
262 menu color cmdmark 1;36;40 #c000ffff #00000000 std
263 menu color cmdline 37;40 #c0ffffff #00000000 std
264 menu color pwdborder 30;47 #80ffffff #20ffffff std
265 menu color pwdheader 31;47 #80ff8080 #20ffffff std
266 menu color pwdentry 30;47 #80ffffff #20ffffff std
267 menu color timeout_msg 37;40 #80ffffff #00000000 std
268 menu color timeout 1;37;40 #c0ffffff #00000000 std
269 menu color help 37;40 #c0ffffff #00000000 std
270 menu color msg07 37;40 #90ffffff #00000000 std
273 MENU MSGCOLOR fg_filter bg_filter shadow
275 Sets *all* the msgXX colors to a color scheme derived from the
276 fg_filter and bg_filter values. Background color zero is
277 always treated as transparent. The default corresponds to:
279 menu msgcolor #90ffffff #80ffffff std
281 This directive should come before any directive that
282 customizes individual msgXX colors.
287 MENU PASSWORDMARGIN 3
295 MENU HELPMSGENDROW -1
300 These options control the layout of the menu on the screen.
301 The values above are the defaults.
303 A negative value is relative to the calculated length of the
304 screen (25 for text mode, 28 for VESA graphics mode.)
307 F1 textfile background
309 F12 textfile background
311 Displays full-screen help (also available at the command line.)
312 The same control code sequences as in the command line
313 interface are supported, although some are ignored.
315 Additionally, a second argument allows a different background
316 image (see MENU BACKGROUND for supported formats) to be displayed.
319 The menu system honours the TIMEOUT command; if TIMEOUT is specified
320 it will execute the ONTIMEOUT command if one exists, otherwise it will
321 pick the default menu option.
323 Normally, the user can press [Tab] to edit the menu entry, and [Esc]
324 to return to the SYSLINUX command line. However, if the configuration
325 file specifies ALLOWOPTIONS 0, these keys will be disabled, and if
326 MENU MASTER PASSWD is set, they require the master password.
328 The simple menu system supports serial console, using the normal
329 SERIAL directive. However, it can be quite slow over a slow serial
330 link; you probably want to set your baudrate to 38400 or higher if
331 possible. It requires a Linux/VT220/ANSI-compatible terminal on the
335 +++ USING AN ALTERNATE CONFIGURATION FILE +++
338 It is also possible to load a secondary configuration file, to get to
339 another menu. To do that, invoke menu.c32 with the name of the
340 secondary configuration file.
343 MENU LABEL Another Menu
345 APPEND othermenu.conf
347 If you specify more than one file, they will all be read, in the order
348 specified. The dummy filename ~ (tilde) is replaced with the filename
349 of the main configuration file.
351 # The file graphics.conf contains common color and layout commands for
354 MENU LABEL Another Menu
356 APPEND graphics.conf othermenu.conf
358 # Return to the main menu
360 MENU LABEL Return to Main Menu
362 APPEND graphics.conf ~
364 See also the MENU INCLUDE directive above.