Syslinux Notes
Syslinux is a bootloader that is predominantly used with legacy BIOS boot implementations (or the UEFI Compatibility Support Module, on motherboards where it is available). Syslinux is actually a collection of several bootloaders as opposed to a single application. These notes cover the EXTLINUX bootloader, which is the Syslinux implementation for booting from an ext4 file system. Another common Syslinux bootloader is ISOLINUX, which is used when booting from CD/DVD-ROM media in legacy mode.
Installation
To use the Syslinux (more precisely, EXTLINUX) bootloader, you need to partition the disk with a separate /boot partition. This can be done using the fdisk command to create two partitions, both of type “Linux”: a 500 MiB boot partition, and the rest of the disk used for the root partition. Be sure to set the boot flag on the boot partition using the a command in fdisk.
Before running the setup-disk command, be sure your /etc/apk/repositories file is updated as shown above. Run the following commands:
apk update
apk add syslinux
After running setup-disk, run the following command to install the required boot code to the Master Boot Record (MBR) of the disk:
dd bs=440 count=1 conv=notrunc if=/mnt/usr/share/syslinux/mbr.bin of=/dev/vda
Reboot into the new system, which will use a hidden boot menu by default.
Customization
You can customize the Syslinux boot menu by editing /boot/extlinux.conf. The following documents may be helpful:
- Syslinux Examples - ArchWiki
- Menu - Syslinux Wiki