README.menu

Version: syslinux-3.35

This is the README.menu file from the SYSLINUX source.

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/vesamenu.c32 (graphical) or com32/modules/menu.c32 (text mode only). 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 [vesa]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:

USING AN ALTERNATE CONFIGURATION FILE

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

If you specify more than one file, they will all be read, in the order specified. The dummy filename ~ (tilde) is replaced with the filename of the main configuration file:

# The file graphics.conf contains common color and layout commands for
# all menus.
LABEL othermenu
      MENU LABEL Another Menu
      KERNEL vesamenu.c32
      APPEND graphics.conf othermenu.conf

# Return to the main menu
LABEL mainmenu
      MENU LABEL Return to Main Menu
      KERNEL vesamenu.c32
      APPEND graphics.conf ~

To use the secondary configuration file, simply make sure it 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). It should not be located in the pxelinux.cfg/ subdirectory.

See also the MENU INCLUDE directive above.