Support syslinux-EFI
This MR adds support for making hdd images bootable using syslinux-efi. It also has some small bootloader-related refactors and cleanups of the code. I've split up this change in a bunch of small commits for easy review, but they can probably be bit more condensed in the changelog (not sure if you're using git-buildpackage for generating that?).
Some remarks:
- Syslinux-efi is enabled by default for hdd images (instead of grub-efi, which would cause the boot to fail).
- When both syslinux and syslinux-efi are enabled, they share the same config files (in
/boot
or/syslinux
). When only syslinux-efi is enabled, config files are still stored in the same place. - Syslinux-efi only supports hdd images. In theory, it could also be supported on iso/isohybrid images, but apparently syslinux does not support booting from optical media (I could not make this work in qemu).
- To test, I've used virt-manager and qemu directly using:
sudo qemu-system-x86_64 -m 1024 -enable-kvm -usb -device usb-storage,removable=on,drive=stick -drive if=none,id=sti ck,file=live-image-amd64.img,format=raw -drive file=/usr/share/OVMF/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on
- I still need to test on actual hardware.
- There is a small config compatibility change for users that override the bootloader config (they might get additional files in their binary if they override the bootloader config and (re)move files through that). I do not think this is so significant, really (but perhaps adding something to NEWS might be good just in case).
- This does not support secure boot, since Syslinux does not support it.
Edited by Matthijs Kooijman