120 lines
3.7 KiB
Plaintext
120 lines
3.7 KiB
Plaintext
$Id: README.menu,v 1.5 2005/01/21 01:35:33 hpa Exp $
|
|
|
|
There are two menu systems included with SYSLINUX, the advanced menu
|
|
system, and the simple menu system.
|
|
|
|
|
|
+++ THE ADVANCED MENU SYSTEM +++
|
|
|
|
The advanced menu system, written by Murali Krishnan Ganapathy, is
|
|
located in the menu/ subdirectly. It allows the user to create
|
|
hierarchial submenus, dynamic options, checkboxes, and just about
|
|
anything you want. It requires that the menu is compiled from a
|
|
simple C file, see menu/simple.c and menu/complex.c for examples.
|
|
|
|
The advanced menu system doesn't support serial console at this time.
|
|
|
|
See menu/README for more information.
|
|
|
|
|
|
+++ THE SIMPLE MENU SYSTEM +++
|
|
|
|
The simple menu system is a single module located at
|
|
com32/modules/menu.c32. It uses the same configuration file as the
|
|
regular SYSLINUX command line, and displays all the LABEL statements.
|
|
|
|
To use the menu system, simply make sure menu.c32 is in the
|
|
appropriate location for your boot medium (the same directory as the
|
|
configuration file for SYSLINUX, EXTLINUX and ISOLINUX, and the same
|
|
directory as pxelinux.0 for PXELINUX), and put the following options
|
|
in your configuration file:
|
|
|
|
DEFAULT menu.c32
|
|
PROMPT 0
|
|
|
|
|
|
There are a few menu additions to the command line, all starting with
|
|
the keyword MENU; like the rest of the SYSLINUX config file
|
|
language, it is case insensitive:
|
|
|
|
MENU TITLE title
|
|
|
|
Give the menu a title. The title is presented at the top of
|
|
the menu.
|
|
|
|
MENU LABEL label
|
|
|
|
(Only valid after a LABEL statement.)
|
|
Changes the label displayed for a specific entry. This allows
|
|
you to have a label that isn't suitable for the command line,
|
|
for example:
|
|
|
|
# Soft Cap Linux
|
|
LABEL softcap
|
|
MENU LABEL Soft Cap ^Linux 9.6.36
|
|
KERNEL softcap-9.6.36.bzi
|
|
APPEND whatever
|
|
|
|
# A very dense operating system
|
|
LABEL brick
|
|
MENU LABEL ^Windows CE/ME/NT
|
|
KERNEL chain.c32
|
|
APPEND hd0 2
|
|
|
|
The ^ symbol in a MENU LABEL statement defines a hotkey.
|
|
The hotkey will be highlighted in the menu and will move the
|
|
menu cursor immediately to that entry.
|
|
|
|
MENU HIDE
|
|
|
|
(Only valid after a LABEL statement.)
|
|
Suppresses a particular LABEL entry from the menu.
|
|
|
|
|
|
MENU DEFAULT
|
|
|
|
(Only valid after a LABEL statement.)
|
|
Indicates that this entry should be the default. If no
|
|
default is specified, use the first one.
|
|
|
|
|
|
MENU PASSWD passwd
|
|
|
|
(Only valid after a LABEL statement.)
|
|
Sets a password on this menu entry. "passwd" can be either a
|
|
cleartext password or a SHA-1 encrypted password; use the
|
|
included Perl script "sha1pass" to encrypt passwords.
|
|
(Obviously, if you don't encrypt your passwords they will not
|
|
be very secure at all.)
|
|
|
|
If you are using passwords, you want to make sure you also use
|
|
the settings "NOESCAPE 1", "PROMPT 0", and either set
|
|
"ALLOWOPTIONS 0" or use a master password (see below.)
|
|
|
|
If passwd is an empty string, this menu entry can only be
|
|
unlocked with the master password.
|
|
|
|
|
|
MENU MASTER PASSWD passwd
|
|
|
|
Sets a master password. This password can be used to boot any
|
|
menu entry, and is required for the [Tab] and [Esc] keys to
|
|
work.
|
|
|
|
|
|
The menu system honours the TIMEOUT command; if TIMEOUT is specified
|
|
it will execute the ONTIMEOUT command if one exists, otherwise it will
|
|
pick the default menu option.
|
|
|
|
Normally, the user can press [Tab] to edit the menu entry, and [Esc]
|
|
to return to the SYSLINUX command line. However, if the configuration
|
|
file specifies ALLOWOPTIONS 0, these keys will be disabled, and if
|
|
MENU MASTER PASSWD is set, they require the master password.
|
|
|
|
The simple menu system supports serial console, using the normal
|
|
SERIAL directive. However, it can be quite slow over a slow serial
|
|
link; you probably want to set your baudrate to 38400 or higher if
|
|
possible. It requires a Linux/VT220/ANSI-compatible terminal on the
|
|
other end.
|
|
|