Pretty Menus with Syslinux vesamenu.c32
Menu Configuration
We assume your syslinux is installed to /boot
.
We use syslinux.cfg
as our configuration file.
UI vesamenu.c32 PROMPT 0 MENU BACKGROUND syslinux.png MENU TITLE Boot Menu MENU AUTOBOOT "Booting Default in #s"
Formatting Images
The Syslinux tools expect your image to be 640x480. That's nice and all, but if your monitor is not a 4:3 aspect ratio then your images are skewed. You can fix that using GIMP and a trick to making the image.
Example: My monitor is 1366x768, very common for a laptop. The 640x480 images are stretched wide and look ugly.
I created a new image in GIMP, with a resolution of 1366x768 - that is, native to my display. I then scaled the image down, in proportion, to 854x480, great. This becomes the beginning field of the image. Paste in your images, your graphics and all that sutff.
And here's the trick. When you are ready, scale your image to 640x480. You will have to disconnect the link so you are not scaling in proportion. Your image should look squished narrowly. Export from GIMP to a PNG image, like syslinux.png
sudo cp ~/Desktop/syslinux.png /boot/syslinux.png
Image Tricks
On boot Syslinux is aware of symbolic links.
This means you can have multiple, rotating Syslinux boot images.
Create the directory /boot/img
and copy a few PNG files in there.
Then run this little bit on boot, it will bit a random image file from your directory and update the symlink.
The symlink is the value specified in MENU BACKGROUND
above.
list=(/boot/img/*) target=$(printf "%s" "${list[RANDOM % ${#list[@]}]}") rm /boot/syslinux.png ln -s $target /boot/syslinux.png