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.