# SYSLINUX

The Syslinux Project is a suite of five different bootloaders for starting up Linux distributions on computers. It was primarily developed by H. Peter Anvin.

## Components

The Syslinux Project consists of five different bootloaders:
* The eponymous SYSLINUX, used for booting from the FAT filesystem
* ISOLINUX, used for booting from the ISO 9660 filesystem
* PXELINUX, used for booting from a network server using the Preboot Execution Environment (PXE) system
* EXTLINUX, used for booting from Btrfs, ext2, ext3, ext4, FAT, NTFS, UFS/UFS2, and XFS filesystems
* MEMDISK, emulates a RAM disk for older operating systems like MS-DOS
The project also includes two separate menu systems and a development environment for additional modules.

### SYSLINUX and ISOLINUX

SYSLINUX was originally meant for rescue floppy disks, live USBs, or other lightweight environments. ISOLINUX is meant for live CDs and Linux installation CDs.
The SYSLINUX bootloader can be used to boot multiple distributions from a single source such as a USB stick.
A minor complication is involved when booting from compact discs. The El Torito standard allows booting in two different modes:
* No emulation – Requires storing the boot information directly on the CD. ISOLINUX is suitable for this mode.
* Floppy emulation – Requires storing the boot information in a disk image file suitable for emulating a FAT-formatted floppy disk. SYSLINUX is suitable for this mode.
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 the "no emulation" mode is generally the more reliable method. Since version 3.72 ISOLINUX supports the creation of so-called "hybrid ISO" images, that put both the El Torito boot record of the compact discs and the master boot record of hard disks into an ISO image . This hybrid image could then be written to both a compact disc or a USB flash drive.

### PXELINUX

PXELINUX is used in conjunction with a PXE-compliant ROM on a network interface controller (NIC), which enables receiving a bootstrap program over the local area network. This bootstrap program loads and configures an operating system kernel that puts the user in control of the computer. Typically, PXELINUX is used for performing Linux installations from a central network server or for booting diskless workstations.

### EXTLINUX

EXTLINUX is a general-purpose bootloader, similar to LILO or GRUB. Since Syslinux 4, EXTLINUX is capable of handling Btrfs, FAT, NTFS, UFS/UFS2, and XFS filesystems.

## COMBOOT

SYSLINUX can be extended by COMBOOT modules written in C or assembly language. 32-bit modules typically use the .c32 filename extension. Version 5 and later do not support 16-bit .com modules.

### Hardware Detection Tool (HDT)

Since the 3.74 release, the Syslinux project hosts the Hardware Detection Tool (HDT) project, licensed under the terms of GNU GPL. This tool is a 32-bit module that displays low-level information for any IA-32–compatible system. It provides both a command-line interface and a semi-graphical menu mode for browsing. HDT is also available as a bootable ISO and a 2.88 MB floppy disk image. The last update of HDT was in 2015; it has since been discontinued.