| $Id$ |
| |
| 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. |
| |
| Reusing hotkeys is disallowed, subsequent entries will not be |
| highlighted, and will not work. |
| |
| Keep in mind that the LABELs, not MENU LABELs, must be unique, |
| or odd things will happen to the command-line. |
| |
| 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. |
| |
| |
| 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 |
| |
| These options control the layout of the menu on the screen. |
| The values above are the defaults. |
| |
| |
| 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. |
| |
| It is also possible to load a secondary configuration file, to get to |
| another menu. To do that, invoke menu.c32 with the name of the |
| secondary configuration file. |
| |
| LABEL othermenu |
| MENU LABEL Another Menu |
| KERNEL menu.c32 |
| APPEND othermenu.conf |