The SYSLINUX Project is a suite of lightweight bootloaders, for starting up computers with the Linux kernel. It is the work of H. Peter Anvin, and consists of several separate systems, the best-known of which is ISOLINUX.
- The original SYSLINUX, used for booting from FAT filesystems (such as floppy discs 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 filesystems.
- 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 discs, Live USBs
, or other lightweight boot systems. ISOLINUX is generally used by Linux Live CD
and bootable install CDs.
A minor complication is involved when booting from CD-ROM. The El Torito standard allows for booting in two different modes;
- Floppy emulation mode where the boot information is stored in an image file of a floppy disc, which is loaded from the CD and then behaves as a virtual floppy disc. This image file is effectively a FAT filesystem, so SYSLINUX is the required bootloader.
- No emulation mode where the boot information is stored directly on the CD (not in a floppy image). In this mode ISOLINUX is required.
To have this choice is sometimes useful however as ISOLINUX is vulnerable to BIOS bugs, in which case it's 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.
PXELINUX is used in conjunction with a PXE
on a network card. The PXE environment uses DHCP
to enable basic TCP/IP
networking, then downloads a bootstrap
program via TFTP
. This bootstrap program loads and configures a kernel
according to directives that are also downloaded from the TFTP server.
Typically, PXELINUX is used for Linux installations from a central network server or for booting diskless workstations.
EXTLINUX is typically used as a general-purpose bootloader, similar to LILO