Index: /trunk/AUTHORS
===================================================================
--- /trunk/AUTHORS	(revision 105)
+++ /trunk/AUTHORS	(revision 106)
@@ -6,6 +6,12 @@
 ========================================
 Walter de Jong <walter@sara.nl>
+Bas van der Vlies <basv@sara.nl>
 
 xinetd implementation
 ========================================
 Ramon Bastiaans 
+
+pxemenu implementation
+========================================
+Ole Holm Nielsen <Ole.H.Nielsen at fysik dot dtu dot dk>
+
Index: /trunk/INSTALL
===================================================================
--- /trunk/INSTALL	(revision 105)
+++ /trunk/INSTALL	(revision 106)
@@ -85,4 +85,4 @@
 
 Comments or Suggestions mail them to:
- Bas van der Vlies <basv@sara.nl>
+ pxeconfig@sara.nl
  http://www.sara.nl for more info about SARA
Index: /trunk/INSTALL-pxemenu
===================================================================
--- /trunk/INSTALL-pxemenu	(revision 106)
+++ /trunk/INSTALL-pxemenu	(revision 106)
@@ -0,0 +1,53 @@
+How to install the PXE menu tools
+=================================
+
+The files for the PXE menus are in the pxemenu/ directory.
+
+We recommend *manual* installation of the PXE menu files to your TFTP server's
+file directory (usually /tftpboot) so that your customized files in /tftpboot
+do not get overwritten by accident.
+
+1. Copy the SYSLINUX files
+--------------------------
+
+These files are from the SYSLINUX package and should preferentially be in the
+/tftpboot directory, although you can also put them in subdirectories:
+
+   cp pxemenu/pxelinux.0 /tftpboot
+   cp pxemenu/memdisk /tftpboot
+   cp pxemenu/com32/menu.c32 /tftpboot
+   cp pxemenu/com32/chain.c32 /tftpboot
+
+There are a number of other *.c32 utilities in pxemenu/com32/ which you
+may want to try out by copying them to the PXE menu system.
+
+2. Copy the PXE menu files
+--------------------------
+
+Set up the PXE menu:
+
+   cp pxemenu/pxelinux.cfg/default.menu /tftpboot/pxelinux.cfg/default.menu
+
+You should edit default.menu if necessary to include only those menu items
+that you want to provide in your environment.
+
+It is highly recommended to let default.menu become your default boot method.
+You enable this by:
+
+   cd /tftpboot/pxelinux.cfg
+   ln -s default.menu default
+
+3. Copy the menu item directories
+---------------------------------
+
+For the menu items that you have enabled in default.menu, copy the required
+example subdirectories to /tftpboot, for example:
+
+   cp -rp pxemenu/Tools /tftpboot
+   cp -rp pxemenu/ghost /tftpboot
+   cp -rp pxemenu/CentOS-5.0 /tftpboot
+   cp -rp pxemenu/mysystem /tftpboot
+
+You may then edit the *.conf files in these directories to reflect your configuration.
+Also, you should install from other sources the requisite disk images that you have 
+configured (comments are in the *.conf files).
Index: /trunk/README
===================================================================
--- /trunk/README	(revision 105)
+++ /trunk/README	(revision 106)
@@ -8,4 +8,11 @@
 configuration file how the node must boot. This configuration is placed in, 
 e.g. '/tftpboot/pxelinux.cfg' directory.
+
+The PXE-menu tools are used to control the booting of networked computers
+directly from the computer's console at the BIOS level before any operating
+system has been loaded.  This is extremely useful for diagnostic purposes,
+or for selecting an operating system installation method, of an individual
+computer.  For further information please read the files README-pxemenu and
+INSTALL-pxemenu.
 
 In our setup we have a default setup. The default setup is to boot from
@@ -47,4 +54,6 @@
 
 
+
+
 For more info about the Packag and installation:
 	https://subtrac.sara.nl/oss/pxeconfig
Index: /trunk/README-pxemenu
===================================================================
--- /trunk/README-pxemenu	(revision 106)
+++ /trunk/README-pxemenu	(revision 106)
@@ -0,0 +1,151 @@
+
+PXE-menu tools README file
+--------------------------
+
+Author: Ole Holm Nielsen
+        Dept. of Physics, Technical University of Denmark
+        E-mail: Ole.H.Nielsen@fysik.dtu.dk
+
+Version: 1.1
+Date: 01-Oct-2007
+
+Summary
+-------
+
+The PXE-menu tools are used to control the booting of networked computers
+directly from the computer's console at the BIOS level before any operating
+system has been loaded.  This is extremely useful for diagnostic purposes,
+or for selecting an operating system installation method, of an individual
+computer.  If you need to do the same operation on many computers, it is
+better to use the pxeconfig tools (https://subtrac.sara.nl/oss/pxeconfig)
+to control the booting from your network's DHCP/TFTP server.
+
+Additional information
+----------------------
+
+We provide further details on our Linux cluster's homepage:
+https://wiki.fysik.dtu.dk/niflheim/PXE-booting
+
+Prerequisite software
+---------------------
+
+We use some of the SYSLINUX tools for providing the PXE menus in this package, see
+http://syslinux.zytor.com/pxe.php
+For your convenience the binary files are included with this package, but you can
+also build them yourself by following the instructions in the 
+https://wiki.fysik.dtu.dk/niflheim/PXE-booting web-page.
+
+We include the SYSLINUX documentation files in the syslinux-doc/ directory,
+since this documentation is not available on the SYSLINUX web-pages.
+
+What's included
+---------------
+
+The pxemenu/ directory tree should be copied to your DHCP/TFTP server's 
+/tftpboot directory (or wherever your TFTP server has its root directory).
+Please see the file INSTALL-pxemenu for detailed installation instructions.
+
+When your computer has been configured to do a PXE boot, it will automatically
+download the file pxelinux.0 by TFTP and execute it, and pxelinux.0 will
+download configuration files from the pxelinux.cfg/ subdirectory. 
+In the pxelinux.cfg/* configuration files are references to files that
+should be downloaded by TFTP, and these files are all relative to the
+top-level TFTP directory.
+
+Here we assume that the file named "default" in pxelinux.cfg/ is a soft-link to
+the default.menu file so that the PXE menus will be loaded.  You could also let 
+default.menu be one of the options which you configure by using pxeconfig.
+
+The most important files included in the pxemenu/ directory are:
+
+  pxelinux.0 memdisk com32/menu.c32 com32/chain.c32: Binary files from the
+         SYSLINUX project which are needed for the usual booting methods.
+  com32/*.c32: All SYSLINUX 3.52 COM32 files, see the SYSLINUX comboot.doc.
+  pxelinux.cfg/default.menu: The main PXE menu configuration file which 
+         loads all the other PXE menus listed below.
+         The default.menu has a timeout of 5 seconds configured so that you
+         may use the arrow buttons to select options; otherwise the default
+         boot from harddisk will be selected.  This is most likely what you want
+         to do on a Linux cluster for unattended operation, but for other uses
+         the timeout can be commented out so that the menus will wait forever.
+  syslinux-doc: Documentation files from the SYSLINUX source.
+         You may want to read the files README.menu, and for further details 
+         also syslinux.doc and pxelinux.doc.
+
+Example PXE menu files
+----------------------
+
+In the pxemenu/ directory are a number of examples that you may find useful
+for customizing your own PXE menu configurations.  They are:
+
+  x3455/: Example of PXE menus for an IBM X-series x3455 server.
+  mysystem/: Example of PXE menus for a generic server.
+          Copy this example and modify it for your particular server.
+          IMPORTANT: Always keep all images related to one type of hardware
+          in the same subdirectory so that you don't mix up different hardwares !
+  ghost/: Example of some Norton Ghost 2003 DOS boot diskette images.
+  Tools/: Example of some diagnostics tools, including Memtest86.
+          The vendor disk diagnostics tools you must download yourself
+          (usually copyrighted), see links in tools.conf.
+  centos.conf: Start a CentOS Linux installation.
+
+SystemImager installation with PXE menus
+----------------------------------------
+
+SystemImager installation can be started as shown in the x3455/x3455.conf
+example file.  Each type of hardware is supported in SystemImager by a
+specially generated UYOK (Use Your Own Kernel) vmlinux kernel and
+initrd.img RAM-disk, see http://wiki.systemimager.org/index.php/UYOK.
+
+Therefore you must copy kernel and initrd.img from
+/var/lib/systemimager/images/<IMAGENAME>/etc/systemimager/boot/
+to the subdirectory for your hardware (pxemenu/x3455/ in the present example).
+
+
+What you must supply yourself
+-----------------------------
+
+The simple PXE menu tools included in this package are just simple but useful 
+examples that have proven useful in our Linux cluster and desktop environment.
+You should provide boot images for the tools that you want to run, such as
+vendor firmware upgrade diskettes or Linux installation kernels, for example.
+
+If you want to add a physical DOS boot diskette of your own to the PXE menus,
+you can create an image of the physical diskette by:
+
+  dd if=/dev/fd0 of=myimage.img
+
+(assuming that the diskette drive on your Linux PC is /dev/fd0).
+
+Ultimate Boot CD tools
+----------------------
+
+If you want a huge selection of boot disks, you may want to look at the
+Ultimate Boot CD (UBC) project, see http://www.ultimatebootcd.com/ for
+information about this project.
+
+All of the UBC tools can be made available within the PXE menus, see
+https://wiki.fysik.dtu.dk/niflheim/PXE-booting#boot-images-from-ultimatebootcd-com
+Basically, just copy the contents of the UBC CD to /tftpboot and use the menu entry 
+in pxeconfig.cfg/default.menu to use the UBC tools from the PXE menus.  It's
+that simple !
+
+What doesn't work
+-----------------
+
+Many people have asked on the SYSLINUX mailing list how to boot ISO CD
+images using SYSLINUX or PXELINUX.  The short FAQ answer from the SYSLINUX
+author H. Peter Anvin is that it's impossible because of the ways CD-ROM drives
+are implemented in BIOSes.  See for example
+http://syslinux.zytor.com/archives/2006-December/007818.html
+
+Special hardware issues
+-----------------------
+
+Broadcom network adapters:  It is known that certain Broadcom Ethernet
+adapters are buggy.  If your system hangs while you move up and down the
+PXE menus, then you've probably been hit by this.  Please upgrade the
+firmware on the Broadcom adapter to the latest release. 
+
+In the case of IBM X-series servers, you MUST upgrade the Broadcom firmware
+to at least release 2.0.0.
Index: /trunk/debian/changelog
===================================================================
--- /trunk/debian/changelog	(revision 105)
+++ /trunk/debian/changelog	(revision 106)
@@ -1,2 +1,8 @@
+pxeconfig (0.9.0-1) stable; urgency=low
+
+  * New release
+
+ -- root <root@mailman.rc.sara.nl>  Wed, 26 Sep 2007 17:34:23 +0200
+
 pxeconfig (0.8.0-2) stable; urgency=low
 
Index: /trunk/pxemenu/CentOS-5.0/centos.conf
===================================================================
--- /trunk/pxemenu/CentOS-5.0/centos.conf	(revision 106)
+++ /trunk/pxemenu/CentOS-5.0/centos.conf	(revision 106)
@@ -0,0 +1,25 @@
+DEFAULT menu.c32
+PROMPT 0
+
+MENU TITLE Centos installation menu
+MENU BACKGROUND Logo.jpg
+
+# Download the CentOS5.0 vmlinuz and initrd.img boot images from a CentOS repository,
+# for example http://mirror.fysik.dtu.dk/linux/centos/5.0/os/i386/images/pxeboot/
+# You may also need to put up the installation CD ISO images on an NFS server in your network
+# or you may use other media such as an FTP server.
+
+label CentOS5.0 clean-i386
+	menu label Clean installation of CentOS-5.0-i386, using Kickstart
+	kernel CentOS-5.0/vmlinuz
+	append load_ramdisk=1 initrd=CentOS-5.0/initrd.img network ks=nfs:your-server-name:/u/rpm/kickstart/ks-centos-5-clean-i386.cfg
+
+label CentOS5.0 i386 
+	menu label Installation of CentOS-5.0-i386, no Kickstart
+	kernel CentOS-5.0/vmlinuz
+	append load_ramdisk=1 initrd=CentOS-5.0/initrd.img network
+
+LABEL mainmenu
+	MENU LABEL Return to Main Menu
+	KERNEL menu.c32
+	APPEND ~
Index: /trunk/pxemenu/Tools/tools.conf
===================================================================
--- /trunk/pxemenu/Tools/tools.conf	(revision 106)
+++ /trunk/pxemenu/Tools/tools.conf	(revision 106)
@@ -0,0 +1,34 @@
+DEFAULT menu.c32
+PROMPT 0
+
+MENU TITLE Testing tools menu 
+MENU BACKGROUND Logo.jpg
+
+# Download Memtest86 from http://www.memtest.org/ and from the top level copy 
+# the file precomp.bin to Tools/memtest86
+label memtest86
+        menu label Memtest86 memory tester
+        kernel Tools/memtest86
+
+# Download from http://www.hgst.com/hdd/support/download.htm#DFT
+label DFT
+	menu label Hitachi/IBM Drive Fitness Test v4.08
+	kernel memdisk
+	append initrd=Tools/dft32_v408_b00_install.IMG
+
+# Download from http://support.wdc.com/download/index.asp
+label WDC_tool
+	menu label Western Digital Data Lifeguard Tools 11.2
+	kernel memdisk
+	append initrd=Tools/DataLifeguard11.2.img
+
+# Download from http://www.seagate.com/www/en-us/support/downloads/seatools
+label Seagate
+	menu label Seagate SeaTools108DC
+	kernel memdisk
+	append initrd=Tools/SeaTools108DC.img
+
+LABEL mainmenu
+        MENU LABEL Return to Main Menu
+        KERNEL menu.c32
+        APPEND ~
Index: /trunk/pxemenu/com32/README
===================================================================
--- /trunk/pxemenu/com32/README	(revision 106)
+++ /trunk/pxemenu/com32/README	(revision 106)
@@ -0,0 +1,2 @@
+These are the SYSLINUX com32 files. 
+See the file comboot.doc in the SYSLINUX top-level source directory.
Index: /trunk/pxemenu/ghost/ghost.conf
===================================================================
--- /trunk/pxemenu/ghost/ghost.conf	(revision 106)
+++ /trunk/pxemenu/ghost/ghost.conf	(revision 106)
@@ -0,0 +1,24 @@
+DEFAULT menu.c32
+PROMPT 0
+
+MENU TITLE Norton Ghost installation menu 
+MENU BACKGROUND Logo.jpg
+
+# You must generate Norton Ghost boot diskettes using the Ghost application
+# in Windows.  These diskettes differ for different kinds of network drivers.
+# Copy a diskette to image by for example: dd if=/dev/fd0 of=BroadcomNetXtreme.img
+
+label Broadcom
+	menu label Ghost Broadcom NetXtreme (d530 dc7100 dc7600 T43)
+	kernel memdisk
+	append initrd=ghost/BroadcomNetXtreme.img
+
+label e1000
+	menu label Ghost Intel Pro1000 (dc7700 T-60 T-61)
+	kernel memdisk
+	append initrd=ghost/IntelPRO1000.img
+
+LABEL mainmenu
+        MENU LABEL Return to Main Menu
+        KERNEL menu.c32
+        APPEND ~
Index: /trunk/pxemenu/mysystem/mysystem.conf
===================================================================
--- /trunk/pxemenu/mysystem/mysystem.conf	(revision 106)
+++ /trunk/pxemenu/mysystem/mysystem.conf	(revision 106)
@@ -0,0 +1,36 @@
+DEFAULT menu.c32
+PROMPT 0
+
+# This example menu is for maintenance of your machine type "mysystem"
+
+MENU TITLE Mysystem menu
+
+# You must copy the SystemImager kernel and initrd.img for this type of machine
+# to the mysystem/ directory
+LABEL mysystem SystemImager node installation
+	DISPLAY message.txt
+	PROMPT 1
+	KERNEL mysystem/kernel
+	APPEND vga=extended initrd=mysystem/initrd.img root=/dev/ram ramdisk_size=50000 tmpfs_size=2500M
+
+# Download the firmware diskette images from the vendor's support homepage.
+
+label BIOS
+        menu label mysystem BIOS upgrade
+        kernel memdisk
+        append initrd=mysystem/bios_upgrade.img
+
+label BMC_fw
+        menu label mysystem BMC firmware upgrade
+        kernel memdisk
+        append initrd=mysystem/bmc_firmware.img
+
+label Broadcom
+        menu label Broadcom firmware upgrade
+        kernel memdisk
+        append initrd=mysystem/broadcom-firmware.img
+
+label Mainmenu
+        menu label Return to Main Menu
+        kernel menu.c32
+        append ~
Index: /trunk/pxemenu/pxelinux.cfg/default.menu
===================================================================
--- /trunk/pxemenu/pxelinux.cfg/default.menu	(revision 106)
+++ /trunk/pxemenu/pxelinux.cfg/default.menu	(revision 106)
@@ -0,0 +1,56 @@
+DEFAULT menu.c32
+# You can also load a background image if you use
+# DEFAULT vesamenu.c32
+# MENU BACKGROUND Logo.jpg
+
+PROMPT 0
+
+# Wait 5 seconds unless the user presses a button, but always boot after 900 seconds.
+TIMEOUT 50
+TOTALTIMEOUT 9000
+
+MENU TITLE PXE menu from TFTP server
+
+label harddisk
+	menu label Boot from local harddisk
+	kernel chain.c32
+	append hd0
+
+# Remember: Config files (such as centos.conf) are relative to /tftpboot/
+
+label CentosMenu
+	menu label CentcwOS-5.0os Linux installation menu
+	kernel menu.c32
+	append CentOS-5.0/centos.conf
+
+label SystemImagerMenu
+	menu label SystemImager Linux cloning menu
+	kernel menu.c32
+	append SI/si.conf
+
+label GhostMenu
+	menu label Norton Ghost boot menu
+	kernel menu.c32
+	append ghost/ghost.conf
+
+# All of the Ultimate Boot CD tools can be downloaded from http://www.ultimatebootcd.com/download.html
+# Just copy the contents of the CD to /tftpboot and use this menu entry to PXE boot the UBC tools:
+label UBCMenu
+	menu label Ultimate Boot CD menu
+	kernel menu.c32
+	append menus/main.cfg
+
+label ToolsMenu
+	menu label Test tools menu
+	kernel menu.c32
+	append Tools/tools.conf
+
+label x3455menu
+	menu label IBM x3455 menu
+	kernel menu.c32
+	append x3455/x3455.conf
+
+label mysystemmenu
+	menu label mysystem menu
+	kernel menu.c32
+	append mysystem/mysystem.conf
Index: /trunk/pxemenu/x3455/README
===================================================================
--- /trunk/pxemenu/x3455/README	(revision 106)
+++ /trunk/pxemenu/x3455/README	(revision 106)
@@ -0,0 +1,3 @@
+The *.img files in this directory are placeholders only which demonstrate
+the file structure.  You would have to download the diskette image files
+yourself from the IBM support web site.
Index: /trunk/pxemenu/x3455/x3455.conf
===================================================================
--- /trunk/pxemenu/x3455/x3455.conf	(revision 106)
+++ /trunk/pxemenu/x3455/x3455.conf	(revision 106)
@@ -0,0 +1,37 @@
+DEFAULT menu.c32
+PROMPT 0
+
+# This example menu is for maintenance of IBM X-series x3455 servers
+
+MENU TITLE IBM server x3455 menu
+
+# You must copy the SystemImager kernel and initrd.img for this type of machine
+# to the x3455/ directory
+LABEL IBM x3455 SystemImager node installation
+	DISPLAY message.txt
+	PROMPT 1
+	KERNEL x3455/kernel
+	APPEND vga=extended initrd=x3455/initrd.img root=/dev/ram ramdisk_size=50000 tmpfs_size=2500M
+
+# Download the firmware diskette images from the vendor's support homepage.
+# For IBM it's http://www.pc.ibm.com/support
+
+label BIOS
+        menu label IBM x3455 BIOS 1.38
+        kernel memdisk
+        append initrd=x3455/ibm_fw_bios_c0e138a_anyos_i386.img
+
+label BMC_fw
+        menu label IBM x3455 BMC firmware 1.03
+        kernel memdisk
+        append initrd=x3455/ibm_fw_bmc_c0et26a_dos_i386.img
+
+label Broadcom
+        menu label IBM Broadcom firmware 2.0.3 for 7984 server x3455
+        kernel memdisk
+        append initrd=x3455/brcm_fw_nic_2.0.3-x3455.img
+
+label Mainmenu
+        menu label Return to Main Menu
+        kernel menu.c32
+        append ~
Index: /trunk/syslinux-doc/README
===================================================================
--- /trunk/syslinux-doc/README	(revision 106)
+++ /trunk/syslinux-doc/README	(revision 106)
@@ -0,0 +1,31 @@
+See the following files for documentation about SYSLINUX:
+
+	syslinux.doc	    - Usage instructions; manual.
+	distrib.doc	    - For creators of Linux distributions.
+	pxelinux.doc	    - Documentation specific to PXELINUX.
+	isolinux.doc	    - Documentation specific to ISOLINUX.
+	extlinux.doc	    - Documentation specific to EXTLINUX.
+	README.menu	    - About the menu systems.
+	README.usbkey	    - About using SYSLINUX on USB keys.
+	comboot.doc	    - About the extension API.
+	memdisk/memdisk.doc - Documentation about MEMDISK.
+	NEWS		    - List of changes from previous releases.
+	TODO		    - About features planned for future releases.
+	COPYING		    - For the license terms of this software.
+
+SYSLINUX now builds in a Linux environment, using nasm.  You need nasm
+version 0.98.38 or later to build SYSLINUX from source.  See
+http://nasm.sf.net/ for information about nasm.
+
+There is now a mailing list for SYSLINUX.  See the end of syslinux.doc
+for details.
+
+SYSLINUX is:
+
+   Copyright 1994-2007 H. Peter Anvin - All Rights Reserved
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
+   Boston MA 02111-1307, USA; either version 2 of the License, or
+   (at your option) any later version; incorporated herein by reference.
Index: /trunk/syslinux-doc/README.menu
===================================================================
--- /trunk/syslinux-doc/README.menu	(revision 106)
+++ /trunk/syslinux-doc/README.menu	(revision 106)
@@ -0,0 +1,364 @@
+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 keywords MENU or TEXT; 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 HIDDEN
+
+	Do not display the actual menu unless the user presses a key.
+	All that is displayed is a timeout message.     
+     
+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.
+
+
+TEXT HELP
+Help text ...
+... which can span multiple lines
+ENDTEXT
+
+	(Only valid after a LABEL statement.)
+	Specifies a help text that should be displayed when a particular
+	selection is highlighted.
+
+
+MENU PASSWD passwd
+
+	(Only valid after a LABEL statement.)
+
+	Sets a password on this menu entry.  "passwd" can be either a
+	cleartext password, a SHA-1 encrypted password (starting with
+	$4$), or and MD5 encrypted password (starting with $1$).
+
+	Use the included Perl scripts "sha1pass" or "md5pass" to
+	encrypt passwords.  MD5 passwords are compatible with most
+	Unix password file utilities; SHA-1 passwords are probably
+	unique to SYSLINUX.  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 BACKGROUND background
+
+	For vesamenu.c32, sets the background image.  The background
+	can either be a color (see MENU COLOR) or the name of an image
+	file, which should be 640x480 pixels and either in PNG or JPEG
+	format.
+
+
+INCLUDE filename
+MENU INCLUDE filename
+
+	Include the contents of the configuration file filename at
+	this point.
+
+	In the case of MENU INCLUDE, the included data is only seen by
+	the menu system; the core syslinux code does not parse this
+	command, so any labels defined in it are unavailable.
+
+
+MENU AUTOBOOT message
+
+	Replaces the message "Automatic boot in # second{,s}...".  The
+	symbol # is replaced with the number of seconds remaining.
+	The syntax "{singular,[dual,]plural}" can be used to conjugate
+	appropriately.
+
+
+MENU TABMSG message
+
+	Replaces the message "Press [Tab] to edit options".
+
+
+MENU NOTABMSG message
+
+	Takes the place of the TABMSG message if option editing is
+	disabled.  Defaults to blank.
+
+
+MENU PASSPROMPT message
+
+	Replaces the message "Password required".
+
+
+MENU COLOR element ansi foreground background shadow
+
+	Sets the color of element "element" to the specified color
+	sequence:
+
+	screen          Rest of the screen
+	border          Border area
+	title           Title bar
+	unsel           Unselected menu item
+	hotkey          Unselected hotkey
+	sel             Selection bar
+	hotsel          Selected hotkey
+	scrollbar       Scroll bar
+	tabmsg          Press [Tab] message
+	cmdmark         Command line marker
+	cmdline         Command line
+	pwdborder       Password box border
+	pwdheader       Password box header
+	pwdentry        Password box contents
+	timeout_msg     Timeout message
+	timeout         Timeout counter
+	help		Help text
+	msgXX		Message (F-key) file attribute XX
+
+	... where XX is two hexadecimal digits (the "plain text" is 07).
+
+	"ansi" is a sequence of semicolon-separated ECMA-48 Set
+	Graphics Rendition (<ESC>[m) sequences:
+
+	0     reset all attributes to their defaults
+	1     set bold
+	4     set underscore (simulated with color on a color display)
+	5     set blink
+	7     set reverse video
+	22    set normal intensity
+	24    underline off
+	25    blink off
+	27    reverse video off
+	30    set black foreground
+	31    set red foreground
+	32    set green foreground
+	33    set brown foreground
+	34    set blue foreground
+	35    set magenta foreground
+	36    set cyan foreground
+	37    set white foreground
+	38    set underscore on, set default foreground color
+	39    set underscore off, set default foreground color
+	40    set black background
+	41    set red background
+	42    set green background
+	43    set brown background
+	44    set blue background
+	45    set magenta background
+	46    set cyan background
+	47    set white background
+	49    set default background color
+
+	These are used (a) in text mode, and (b) on the serial
+	console.
+
+	"foreground" and "background" are color codes in #AARRGGBB
+	notation, where AA RR GG BB are hexadecimal digits for alpha
+	(opacity), red, green and blue, respectively.  #00000000
+	represents fully transparent, and #ffffffff represents opaque
+	white.
+
+	"shadow" controls the handling of the graphical console text
+	shadow.  Permitted values are "none" (no shadowing), "std" or
+	"standard" (standard shadowing - foreground pixels are
+	raised), "all" (both background and foreground raised), and
+	"rev" or "reverse" (background pixels are raised.)
+
+	If any field is set to "*" or omitted (at the end of the line)
+	then that field is left unchanged.
+
+
+	The current defaults are:
+
+	menu color screen	37;40      #80ffffff #00000000 std
+	menu color border	30;44      #40000000 #00000000 std
+	menu color title	1;36;44    #c00090f0 #00000000 std
+	menu color unsel	37;44      #90ffffff #00000000 std
+	menu color hotkey	1;37;44    #ffffffff #00000000 std
+	menu color sel		7;37;40    #e0000000 #20ff8000 all
+	menu color hotsel	1;7;37;40  #e0400000 #20ff8000 all
+	menu color scrollbar	30;44      #40000000 #00000000 std
+	menu color tabmsg	31;40      #90ffff00 #00000000 std
+	menu color cmdmark	1;36;40    #c000ffff #00000000 std
+	menu color cmdline	37;40      #c0ffffff #00000000 std
+	menu color pwdborder	30;47      #80ffffff #20ffffff std
+	menu color pwdheader	31;47      #80ff8080 #20ffffff std
+	menu color pwdentry	30;47      #80ffffff #20ffffff std
+	menu color timeout_msg	37;40      #80ffffff #00000000 std
+	menu color timeout	1;37;40    #c0ffffff #00000000 std
+	menu color help		37;40      #c0ffffff #00000000 std
+	menu color msg07	37;40      #90ffffff #00000000 std
+
+
+MENU MSGCOLOR fg_filter bg_filter shadow
+
+	Sets *all* the msgXX colors to a color scheme derived from the
+	fg_filter and bg_filter values.  Background color zero is
+	always treated as transparent.  The default corresponds to:
+
+	menu msgcolor #90ffffff #80ffffff std
+
+	This directive should come before any directive that
+	customizes individual msgXX colors.
+
+
+MENU WIDTH 80
+MENU MARGIN 10
+MENU PASSWORDMARGIN 3
+MENU ROWS 12
+MENU TABMSGROW 18
+MENU CMDLINEROW 18
+MENU ENDROW -1
+MENU PASSWORDROW 11
+MENU TIMEOUTROW 20
+MENU HELPMSGROW 22
+MENU HELPMSGENDROW -1
+MENU HIDDENROW -2
+MENU HSHIFT 0
+MENU VSHIFT 0
+
+	These options control the layout of the menu on the screen.
+	The values above are the defaults.
+
+	A negative value is relative to the calculated length of the
+	screen (25 for text mode, 28 for VESA graphics mode.)
+
+
+F1 textfile background
+...
+F12 textfile background
+
+	Displays full-screen help (also available at the command line.)
+	The same control code sequences as in the command line
+	interface are supported, although some are ignored.
+
+	Additionally, a second argument allows a different background
+	image (see MENU BACKGROUND for supported formats) to be displayed.
+
+
+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.
+
+
+	+++ 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 ~
+
+See also the MENU INCLUDE directive above.
Index: /trunk/syslinux-doc/README.usbkey
===================================================================
--- /trunk/syslinux-doc/README.usbkey	(revision 106)
+++ /trunk/syslinux-doc/README.usbkey	(revision 106)
@@ -0,0 +1,47 @@
+The proper mode to boot a USB key drive in is "USB-HDD".  That is the
+ONLY mode in which the C/H/S geometry encoded on the disk itself
+doesn't have to match what the BIOS thinks it is.  Since geometry on
+USB drives is completely arbitrary, and can vary from BIOS to BIOS,
+this is the only mode which will work in general.
+
+Some BIOSes have been reported (in particular, certain versions of the
+Award BIOS) that cannot boot USB keys in "USB-HDD" mode.  This is a
+very serious BIOS bug, but it is unfortunately rather typical of the
+kind of quality we're seeing out of major BIOS vendors these days.  On
+these BIOSes, you're generally stuck booting them in USB-ZIP mode.
+
+THIS MEANS THE FILESYSTEM IMAGE ON THE DISK HAS TO HAVE A CORRECT
+ZIPDRIVE-COMPATIBLE GEOMETRY.
+
+A standard zipdrive (both the 100 MB and the 250 MB varieties) have a
+"geometry" of 64 heads, 32 sectors, and are partitioned devices with a
+single partition 4 (unlike most other media of this type which uses
+partition 1.)  The 100 MB variety has 96 cylinders, and the 250 MB
+variety has 239 cylinders; but any number of cylinders will do as
+appropriate for the size device you have.  For example, if your device
+reports when inserted into a Linux system:
+
+usb-storage: device found at 4
+  Vendor: 32MB      Model: HardDrive         Rev: 1.88
+  Type:   Direct-Access                      ANSI SCSI revision: 02
+SCSI device sda: 64000 512-byte hdwr sectors (33 MB)
+
+... you would have 64000/(64*32) = 31.25 cylinders; round down to 31.
+
+The script "mkdiskimage" which is supplied with the syslinux
+distribution can be used to initialize USB keys in a Zip-like fashion.
+To do that, calculate the correct number of cylinders (31 in the
+example above), and, if your USB key is /dev/sda (CHECK THE KERNEL
+MESSAGES CAREFULLY - IF YOU ENTER THE WRONG DISK DRIVE IT CANNOT BE
+RECOVERED), run:
+
+	mkdiskimage -4 /dev/sda 0 64 32
+
+(The 0 means automatically determine the size of the device, and -4
+means mimic a zipdisk by using partition 4.)
+
+Then you should be able to run
+
+	syslinux /dev/sda4
+
+... and mount /dev/sda4 and put your files on it as needed.
