syslinux - Install SYSLINUX to a file system
syslinux [OPTIONS] DEVICE extlinux [OPTIONS] PATH syslinux [-h | --help | -v | --version] extlinux [-h | --help | -v | --version]
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.
(~4.00+) Install SYSLINUX, regardless of an existing install.
(~4.00+) Update an existing SYSLINUX/EXTLINUX install. If no Syslinux boot loader is present, return an error.
Display help/usage information.
Display version information and exit immediately.
(DOS/Win32/Win64 ONLY) Mark the install target file system\(cqs 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).
(extlinux ONLY; 4.06+) Force use of a specific block device (experts only).
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.
(4.00+; ADV) Set the label to select as default on the next boot.
(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.
Clear the boot-once command. See also --once.
(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.
(ADV) Reset auxiliary data vector.
-S, --sectors sector-count
Override the detected number of sectors for the geometry. See also --head.
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.
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.
|o||Make a DOS-bootable disk; The following are possible commands:
|o||Copy the DOS boot sector off using Linux or copybs.com:
|o||Install SYSLINUX using one of:
|o||For Linux, mount the disk and copy the dos.bss to the disk:
|o||Copy a Linux kernel image and initrd payload files:|
cp vmlinux /mnt cp initrd.gz /mnt
copy vmlinux a: copy initrd.gz a:
|o||For Linux, umount the disk (if applicable):
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.
If using FDISK, FDISK or a similar application must also be used to mark the partition as active.
fdisk /mbr OR syslinux -ma c:
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.
H. Peter Anvin
Copyright (C) 1994-2012 H. Peter Anvin. 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).