Syslinux is an open source project that provides users with a simple and easy to configure bootloader that allows users to boot various operating systems from local disk drives, CDs, and PXE (Preboot Execution Environment).
Supports all important Linux file systems
The project is capable of booting legacy operating systems like DOS. It has been designed from the ground up as a drop-in replacement for the ancient LILO and Legacy GRUB boot managers. By default, it supports the FAT, EXT2, EXT3, EXT4, and Btrfs file systems.
Both BIOS and UEFI-based machines are supported by this bootloader, though various limitations exist for UEFI (Unified Extensible Firmware Interface) systems. It can be easily installed on almost any Linux-based operating system from the default software channels.
How does it work?
Simple, as the Syslinux boot process works by first loading the MBR (Master Boot Record), then search for an active partition, execute the Volume Boot Record (VBR), execute the /boot/syslinux/ldlinux.sys file, load the /boot/syslinux/ldlinux.c32 file, as well as to search for and load the main configuration file (/boot/syslinux/syslinux.cfg).
A standard boot menu entry for Linux-based operating systems is comprised of a MENU LABEL entry that can be anything the user wants (automatically generated from /etc/issue), and a LINUX line with the location of the Linux kernel executable. It can also boot Windows-based OSes.
In addition, it includes a user-configurable APPEND line that should point to the location of the root filesystem, as well as an INITRD entry that contains the location of the initramfs image file generated by mkinitcpio.
Overall, Syslinux is one of the most easy to use and install boot manager for GNU/Linux. It provides users with both text and graphical boot menus, supports automatic boot, chainloading, memtest, HDT, reboot, power off, keyboard remapping, menu hiding, PXELINUX, and clear menu functionality.