= syslinux(1) = :doctype: manpage :revdate: 2013-06-12 :author: H. Peter Anvin :author-email: hpa@zytor.com :editor1: Gene Cumm :editor1-email: gene.cumm@gmail.com :editor1-revlast: 2013-06-12 == NAME == syslinux - Install SYSLINUX to a file system == SYNOPSIS == [verse] *syslinux* ['OPTIONS'] 'DEVICE' *extlinux* ['OPTIONS'] 'PATH' *syslinux* [-h | --help | -v | --version] *extlinux* [-h | --help | -v | --version] == DESCRIPTION == Install *SYSLINUX* to the 'DEVICE'/'PATH', altering the boot sector and installing the 'ldlinux.sys' boot loader file. For the Linux installer extlinux, 'PATH' is the desired path for the control files on a mounted, supported file system and sets the install-time working directory. For all others, 'DEVICE' must specify a FAT12/FAT16/FAT32 file system. For the Linux installers syslinux and syslinux-mtools, 'DEVICE' should be an unmounted file system. For the DOS/Win32/Win64 installers, 'DEVICE' should be a drive like 'a:' (case insensitive). For versions ~4.00 and later, either *-i*/*--install* or *-U*/*--update* must be specified unless modifying the ADV of an existing install (options tagged with 'ADV') or requesting the help/usage or version info. If, during boot, the Shift or Alt keys are held down, or the Caps or Scroll locks are set, *Syslinux* will display a *lilo*(8) -style "boot:" prompt. The user can then type a kernel file name followed by any kernel parameters. The *Syslinux* bootloader does not need to know about the kernel or config files in advance. *Syslinux* supports the loading of initial ramdisks (initrd) and the bzImage kernel format. Please note, the ldlinux.sys boot loader file is flagged as immutable (where applicable) and is modified after copying in to help ensure boot-time integrity. File systems with a sufficiently large boot loader reserved area, like btrfs, will have ldlinux.sys installed there rather than as a normal file. Prior to version 4.00, extlinux would install a file extlinux.sys which versions 4.00 and later installers will replace with ldlinux.sys. == OPTIONS == // "See"/"See also" notes should reference long options. === Standalone options === *-i*, *--install*:: (~4.00+) Install SYSLINUX, regardless of an existing install. *-U*, *--update*:: (~4.00+) Update an existing SYSLINUX/EXTLINUX install. If no Syslinux boot loader is present, return an error. *-h*, *--help*:: Display help/usage information. *-v*, *--version*:: Display version information and exit immediately. === Regular Options === // Sorted generally by short argument *-a*, *--active*:: (DOS/Win32/Win64 ONLY) Mark the install target file system's partition active. *-d*, *--directory* 'subdirectory':: (Not necessary for extlinux as it is implied by 'PATH') Install the *SYSLINUX* control files in a subdirectory with the specified name (relative to the root directory on the device). *--device* 'DEVICE':: (extlinux ONLY; 4.06+) Force use of a specific block device (experts only). *-f*, *--force*:: Force install even if it appears unsafe. *-H*, *--heads* 'head-count':: Override the detected number of heads for the geometry. See also *--sector*. *-m*, *--mbr*: (DOS/Win32/Win64 ONLY) Install the regular Syslinux MBR code to the MBR. *-M*, *--menu-save*:: (4.00+; ADV) Set the label to select as default on the next boot. *--once* 'command':: (ADV) Declare a boot command to be tried on the first boot only. The use of *-o* for the Linux installers syslinux or syslinux-mtools has been deprecated as of \~4.00 and is no longer valid as of ~4.02. *-O*, *--clear-once*:: Clear the boot-once command. See also *--once*. *-r*, *--raid*:: (ADV) 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. *--reset-adv*:: (ADV) Reset auxiliary data vector. *-S*, *--sectors* 'sector-count':: Override the detected number of sectors for the geometry. See also *--head*. *-s*, *--stupid*:: 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. *-t*, *--offset* 'offset':: (Linux syslinux/syslinux-mtools ONLY) Indicates that the filesystem is at an offset from the base of the device or file. Some older versions did not accept the short format, *-t*. *-z*, *--zipdrive* Assume zipdrive geometry ('--heads 64 --sectors 32'). See also *--head* and *--sector*. == EXAMPLES == === Booting DOS === For booting DOS and other similar operating systems, there is an easy and generally reliable solution to substitute in SYSLINUX as the primary boot loader. - Make a DOS-bootable disk; The following are possible commands: format a: /s sys a: - Copy the DOS boot sector off using Linux or copybs.com: dd if=/dev/fd0 of=dos.bss bs=512 count=1 copybs a: a:dos.bss - Install SYSLINUX using one of: syslinux a: syslinux /dev/fd0 (before 4.00) syslinux -i /dev/fd0 (4.00+) - For Linux, mount the disk and copy the dos.bss to the disk: mount -t msdos /dev/fd0 /mnt cp dos.bss /mnt - Copy a Linux kernel image and initrd payload files: *Linux:*:: cp vmlinux /mnt cp initrd.gz /mnt *DOS/Windows:*:: copy vmlinux a: copy initrd.gz a: - For Linux, umount the disk (if applicable): umount /mnt === MBR === In order to boot from a hard disk (or hard disk-like device) in BIOS mode, an appropriate MBR boot block must also be installed in the MBR (first sector or 512 bytes of the disk), occupying at most 440 bytes. *DOS/Windows:*:: If using FDISK, FDISK or a similar application must also be used to mark the partition as active. + fdisk /mbr OR syslinux -ma c: *Linux:*:: + dd bs=440 count=1 conv=notrunc if=mbr/mbr.bin of=/dev/sda + For altmbr.bin, an easy way to overwrite the MBR boot block and specify the partion number is: + printf '\1' | cat altmbr.bin - | dd bs=440 count=1 \ iflag=fullblock conv=notrunc of=/dev/sda + Note: using 'cat' for writing the MBR can under some circumstances cause data loss or overwriting. For this reason, using 'dd' is recommended for all situations. //[FIXME]: any clean way to handle the above long command for manpage? == SEE ALSO == *syslinux.cfg*(5), *syslinux-cli*(1), *lilo*(8), *keytab-lilo.pl*(8), *fdisk*(8), *mkfs*(8), *superformat*(1). == AUTHOR == This AsciiDoc derived document is a modified version of the original *SYSLINUX* documentation by {author} <{author-email}>. The conversion to a manpage was made by Arthur Korn . The conversion to an AsciiDoc was made by {editor1} <{editor1-email}> == COPYRIGHT == Copyright \(C) 1994-2012 {author}. Free use of this software is granted under the terms of the GNU General Public License (GPL), version 2 (GPLv2) (or, at your option, any later version).