Having read about using syslinux as a boot-loader for virtual machines
I tried to replace grub2 on one of the Fedora 24 virtual machines I am
using with syslinux:

Not completely knowing what to do I did:

  • dnf install syslinux-extlinux.x86_64
  • /sbin/extlinux –install /boot/extlinux/

The I tried to create a configuration file using grubby:

  • grubby --extlinux --add-kernel=/boot/vmlinuz-4.4.6-300.fc23.x86_64 --title="4.4.6" --initrd=/boot/initramfs-4.4.6-300.fc23.x86_64.img --args="ro root=/dev/sda3"

Which resulted in:

# cat /etc/extlinux.conf 
label 4.4.6
 kernel /vmlinuz-4.4.6-300.fc23.x86_64
 initrd /initramfs-4.4.6-300.fc23.x86_64.img
 append ro root=/dev/sda3

I added following lines to the file manually:

default 4.4.6
ui menu.c32
timeout 50

After that I rebooted and the virtual machine was still using grub2 to
load the kernel.

To write syslinux to the MBR following additional command was
required:
dd if=/usr/share/syslinux/mbr.bin of=/dev/sda bs=440 count=1. I was a
bit nervous rebooting the system after overwriting the MBR, but it
rebooted successfully. The configuration file was also correctly updated
after I installed a new kernel via dnf. I also removed grub2
(dnf remove grub2*) and was able to successfully reboot into the new
kernel without grub2.