SYSLINUX is a boot loader specially suited for diskettes. It boots only from DOS formatted disks (could be hard disk partitions as well). It supports custom help screens to introduce the user into using the diskette. DOS diskettes have the advantage that they are not considered defective by most PC users and therefore they less likely thrown away or reformatted. Like GRUB, SYSLINUX reads its configuration file at boot time.
In theory SYSLINUX can be installed in a FAT partition on the hard disk and it can boot Linux kernels from there and it can chain load MSDOS and similar operating systems. However, SYSLINUX is not the natural choice for booting Linux from the hard disk.
First obtain the latest version of SYSLINUX. (version 1.75 at the time of writing). Unpack and run make. Note that you need a recent version of nasm to rebuild the boot loader from source and that the binaries are already included, so you do not really need nasm just to install this boot loader.
Create a text file syslinux.cfg with the following contents:
prompt 1 timeout 100 say Available options: linux and noram label linux kernel zimage append initrd=root.gz label noram kernel zimageThis file specifies the usual options for loading a kernel with an initial RAM disk and a kernel without an initial RAM disk (where a root device should be specified on the command line).
Next format a disk and copy all relevant files to it. An overformatted disk can be used and an MSDOS file system must be used. The syslinux command installs the boot sector program.
fdformat /dev/fd0u1722 mkfs.msdos /dev/fd0u1722 cd syslinux-1.75 syslinux /dev/fd0u1722 cd .. mount -t msdos /dev/fd0u1722 /mnt cp zImage /mnt/zimage cp root.img.gz /mnt/root.gz cp syslinux.cfg /mnt umount /mntYou can copy other kernels and initial RAM disk and edit syslinux.cfg as much as you like without any form of re-installation, just as you can do with GRUB. The GRUB binary on the example disk was 95k while the SYSLINUX binary is only 7k. That's the difference.