The Syslinux Project A suite of bootloaders for Linux Copyright 1994-2011 H. Peter Anvin and contributors This program is provided under the terms of the GNU General Public License, version 2 or, at your option, any later version. There is no warranty, neither expressed nor implied, to the function of this program. Please see the included file COPYING for details. ---------------------------------------------------------------------- Syslinux now has a home page at http://syslinux.zytor.com/ ---------------------------------------------------------------------- The Syslinux suite contains the following boot loaders ("derivatives"), for their respective boot media: SYSLINUX - MS-DOS/Windows FAT filesystem PXELINUX - PXE network booting ISOLINUX - ISO9660 CD-ROM EXTLINUX - Linux ext2/ext3 filesystem For historical reasons, some of the sections in this document applies to the FAT loader (SYSLINUX) only; see pxelinux.txt, isolinux.txt and extlinux.txt for what differs in these versions. The all-caps term "SYSLINUX" generally refers to the FAT loader, whereas "Syslinux" refers to the project as a whole. Help with cleaning up the docs would be greatly appreciated. ++++ Options ++++ These are the options common to all versions of Syslinux: -s Safe, slow, stupid; uses simpler code that boots better -f Force installing -r Raid mode. If boot fails, tell the BIOS to boot the next device in the boot sequence (usually the next hard disk) instead of stopping with an error message. This is useful for RAID-1 booting. These are only in the Windows version: -m Mbr; install a bootable MBR sector to the beginning of the drive. -a Active; marks the partition used active (=bootable) ++++ CREATING A BOOTABLE LINUX FLOPPY +++ In order to create a bootable Linux floppy using SYSLINUX, prepare a normal MS-DOS formatted floppy. Copy one or more Linux kernel files to it, then execute the DOS command: syslinux [-sfrma][-d directory] a: [bootsecfile] (or whichever drive letter is appropriate; the [] meaning optional.) Use "syslinux.com" (in the dos subdirectory of the distribution) for plain DOS (MS-DOS, DR-DOS, PC-DOS, FreeDOS...) or Win9x/ME. Use "syslinux.exe" (in the win32 subdirectory of the distribution) for WinNT/2000/XP. Under Linux, execute the command: syslinux [-sfr][-d directory][-o offset] /dev/fd0 (or, again, whichever device is the correct one.) This will alter the boot sector on the disk and copy a file named LDLINUX.SYS into its root directory (or a subdirectory, if the -d option is specified.) The -s option, if given, will install a "safe, slow and stupid" version of SYSLINUX. This version may work on some very buggy BIOSes on which SYSLINUX would otherwise fail. If you find a machine on which the -s option is required to make it boot reliably, please send as much info about your machine as you can, and include the failure mode. The -o option is used with a disk image file and specifies the byte offset of the filesystem image in the file. For the DOS and Windows installers, the -m and -a options can be used on hard drives to write a Master Boot Record (MBR), and to mark the specific partition active. If the Shift or Alt keys are held down during boot, or the Caps or Scroll locks are set, Syslinux will display a LILO-style "boot:" prompt. The user can then type a kernel file name followed by any kernel parameters. The Syslinux loader does not need to know about the kernel file in advance; all that is required is that it is a file located in the root directory on the disk. There are two versions of the Linux installer; one in the "mtools" directory which requires no special privilege (other than write permission to the device where you are installing) but requires the mtools program suite to be available, and one in the "linux" directory which requires root privilege. ++++ CONFIGURATION FILE ++++ All options here apply to PXELINUX, ISOLINUX and EXTLINUX as well as SYSLINUX unless otherwise noted. See the respective .txt files. All the configurable defaults in SYSLINUX can be changed by putting a file called "syslinux.cfg" in the root directory of the boot disk. Starting with version 3.35, the configuration file can also be in either the /boot/syslinux or /syslinux directories (searched in that order.) If that is the case, then all filenames are assumed to be relative to that same directory, unless preceded with a slash or backslash. The configuration file is a text file in either UNIX or DOS format, containing one or more of the following items, each on its own line with optional leading whitespace. Case is insensitive for keywords; upper case is used here to indicate that a word should be typed verbatim. #comment A comment line. INCLUDE filename Inserts the contents of another file at this point in the configuration file. Files can currently be nested up to 16 levels deep, but it is not guaranteed that more than 8 levels will be supported in the future. DEFAULT kernel options... Sets the default command line. If Syslinux boots automatically, it will act just as if the entries after DEFAULT had been typed in at the "boot:" prompt. If no configuration file is present, or no DEFAULT entry is present in the config file, an error message is displayed and the boot: prompt is shown. UI module options... Selects a specific user interface module (typically menu.c32 or vesamenu.c32). The command-line interface treats this as a directive that overrides the DEFAULT and PROMPT directives. APPEND options... Add one or more options to the kernel command line. These are added both for automatic and manual boots. The options are added at the very beginning of the kernel command line, usually permitting explicitly entered kernel options to override them. This is the equivalent of the LILO "append" option. IPAPPEND flag_val [PXELINUX only] The IPAPPEND option is available only on PXELINUX. The flag_val is an OR of the following options: 1: indicates that an option of the following format should be generated and added to the kernel command line: ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask> ... based on the input from the DHCP/BOOTP or PXE boot server. NOTE: The use of this option is no substitute for running a DHCP client in the booted system. Without regular renewals, the lease acquired by the PXE BIOS will expire, making the IP address available for reuse by the DHCP server. 2: indicates that an option of the following format should be generated and added to the kernel command line: BOOTIF=<hardware-address-of-boot-interface> ... in dash-separated hexadecimal with leading hardware type (same as for the configuration file; see pxelinux.txt.) This allows an initrd program to determine from which interface the system booted. 4: indicates that an option of the following format should be generated and added to the kernel command line: SYSUUID=<system uuid> ... in lower case hexadecimal in the format normally used for UUIDs (same as for the configuration file; see pxelinux.txt.) LABEL label KERNEL image APPEND options... IPAPPEND flag_val [PXELINUX only] Indicates that if "label" is entered as the kernel to boot, Syslinux should instead boot "image", and the specified APPEND and IPAPPEND options should be used instead of the ones specified in the global section of the file (before the first LABEL command.) The default for "image" is the same as "label", and if no APPEND is given the default is to use the global entry (if any). Starting with version 3.62, the number of LABEL statements is virtually unlimited. Note that LILO uses the syntax: image = mykernel label = mylabel append = "myoptions" ... whereas Syslinux uses the syntax: label mylabel kernel mykernel append myoptions Note: The "kernel" doesn't have to be a Linux kernel; it can be a boot sector or a COMBOOT file (see below.) Since version 3.32 label names are no longer mangled into DOS format (for SYSLINUX.) The following commands are available after a LABEL statement: LINUX image - Linux kernel image (default) BOOT image - Bootstrap program (.bs, .bin) BSS image - BSS image (.bss) PXE image - PXE Network Bootstrap Program (.0) FDIMAGE image - Floppy disk image (.img) COMBOOT image - COMBOOT program (.com, .cbt) COM32 image - COM32 program (.c32) CONFIG image - New configuration file Using one of these keywords instead of KERNEL forces the filetype, regardless of the filename. CONFIG means restart the boot loader using a different configuration file. The configuration file is read, the working directory is changed (if specified via an APPEND), then the configuration file is parsed. APPEND - Append nothing. APPEND with a single hyphen as argument in a LABEL section can be used to override a global APPEND. LOCALBOOT type Attempt a different local boot method. The special value -1 causes the boot loader to report failure to the BIOS, which, on recent BIOSes, should mean that the next boot device in the boot sequence should be activated. Values other than those documented may produce undesired results. On PXELINUX, "type" 0 means perform a normal boot. "type" 4 will perform a local boot with the Universal Network Driver Interface (UNDI) driver still resident in memory. Finally, "type" 5 will perform a local boot with the entire PXE stack, including the UNDI driver, still resident in memory. All other values are undefined. If...
witkomp