This article relies too much on references to primary sources. (July 2008) (Learn how and when to remove this template message)
Screenshot of SYSLINUX
|Developer(s)||H. Peter Anvin|
6.03 / October 6, 2014
6.04-pre3 / February 7, 2019
|License||GNU GPL version 2 or later|
The SYSLINUX Project is a suite of lightweight master boot record (MBR) boot loaders for starting up IBM PC compatible computers with the Linux kernel. Primarily developed by H. Peter Anvin, the SYSLINUX bundle consists of several separate systems used for different purposes, including ISOLINUX, PXELINUX and EXTLINUX.
- The original SYSLINUX, used for booting from FAT and NTFS filesystems (such as floppy disks and USB drives).
- ISOLINUX, used for booting from CD-ROM ISO 9660 filesystems.
- PXELINUX, used for booting from a network server using the Preboot Execution Environment (PXE) system.
- EXTLINUX, used to boot from Linux ext2/ext3/ext4, XFS, Btrfs, or UFS/UFS2 filesystems. FAT and NTFS are also supported.
- MEMDISK, used to boot older operating systems like MS-DOS from these media.
- Two separate menu systems.
- A development environment for additional modules.
SYSLINUX and ISOLINUX
SYSLINUX is not normally used for booting full Linux installations since Linux is not normally installed on FAT filesystems. Instead, it is often used for boot or rescue floppy disks, live USBs, or other lightweight boot systems. ISOLINUX is generally used by Linux live CDs and bootable install CDs.
A minor complication is involved when booting from CD-ROM. The El Torito standard allows booting in two different modes:
- Floppy emulation mode – the boot information is stored in an image file of a FAT-formatted floppy disk, which is loaded from the CD and then behaves as a virtual floppy disk. This mode uses SYSLINUX.
- No emulation mode – the boot information is stored directly on the CD (not in a floppy image). This mode uses ISOLINUX.
To have this choice is sometimes useful, since ISOLINUX is vulnerable to BIOS bugs; for that reason, it is handy to be able to boot using SYSLINUX. This mostly affects computers built before about 1999, and, in fact, for modern computers no emulation mode is generally the more reliable method.
The use of SYSLINUX for the creation of Live USBs is growing, though, and allowing the creation of distributions like Slax that allow users to try Linux with complete interactivity and persistent changes without needing to install it on their hard disk.
Newer ISOLINUX versions allow creation of so-called "hybrid ISO" images, that put both CD el-torito and HDD MBR boot records into an ISO image, which lets users use a single image as either a CD/DVD boot or USB boot.
PXELINUX is used in conjunction with a PXE-compliant ROM on a network interface controller (NIC), which establishes a PXE environment that uses DHCP or BOOTP to configure its minimalistic networking stack capable of UDP/IP networking, and then downloads a bootstrap program using TFTP. This bootstrap program loads and configures an operating system kernel according to directives that are also downloaded from the TFTP server; after the kernel is booted, it sets up its own drivers for network devices, establishes networking configuration, etc. and carries out desired tasks on its own.
Typically, PXELINUX is used for performing Linux installations from a central network server or for booting diskless workstations.
Hardware Detection Tool (HDT)
Since the 3.74 release, the Syslinux project hosts the Hardware Detection Tool (HDT) project.
This tool is a Syslinux com32 module, licensed under GNU GPL, which displays low-level information for any x86-compatible system. It provides both a command-line interface and a semi-graphical menu mode for browsing. HDT is available as a com32 file, a bootable ISO and a 2.88 MB floppy disk image.