Syslinux is a simple bootloader for fat, ext2/3/4, and brtfs.
Syslinux works in the following way (in a nutshell):
- MBR looks for the active partition (the one tagged as bootable)
- The MBR loads the code found on the partition’s boot sector and executes it
- This code then loads the rest of the boot loader code from /boot partition (file: ldlinux.sys)
- COM32 modules are loaded to provide extra functionality such as a graphical menu or chain loading
For a more detailed explanation: https://wiki.archlinux.org/index.php/Syslinux#Syslinux_Boot_Process
Sample configuration:
UI vesamenu.c32 DEFAULT arch PROMPT 0 MENU TITLE Boot Menu MENU BACKGROUND splash.png TIMEOUT 100 MENU WIDTH 78 MENU MARGIN 4 MENU ROWS 5 MENU VSHIFT 10 MENU TIMEOUTROW 13 MENU TABMSGROW 11 MENU CMDLINEROW 11 MENU HELPMSGROW 16 MENU HELPMSGENDROW 29 # Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu MENU COLOR border 30;44 #40ffffff #a0000000 std MENU COLOR title 1;36;44 #9033ccff #a0000000 std MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all MENU COLOR unsel 37;44 #50ffffff #a0000000 std MENU COLOR help 37;40 #c0ffffff #a0000000 std MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std MENU COLOR msg07 37;40 #90ffffff #a0000000 std MENU COLOR tabmsg 31;40 #30ffffff #00000000 std LABEL arch MENU LABEL Arch Linux LINUX /vmlinuz26 APPEND root=/dev/sda2 ro nomodeset INITRD /kernel26.img LABEL archfallback MENU LABEL Arch Linux Fallback LINUX /vmlinuz26 APPEND root=/dev/sda2 ro nomodeset INITRD /kernel26-fallback.img
As you can see, the majority of the config contains MENU statements declaring colors and positing for the menu. If you removed all the MENU statements, the config would be less than 20 lines.
Screenshot:
I was lazy and took a screenshot of the Arch Linux installer menu. The configuration above generates the same menu, except there are only two boot choices, Arch Linux and Arch Linux Fallback.
The arch wiki has a whole lot of good information on configuring Syslinux. https://wiki.archlinux.org/index.php/Syslinux

Leave a Reply