Solved Slackware-15.0 installation does not boot – Is the elilo bootloader supported?

I am trying to create a vm-bhyve virtual machine with Slackware 15.0, using UEFI (see further down for the actual vm-template).

My partitions look as follows:
screenshot-partitions.png


The installation media boots find and I can install the system. However, after a powercycle (power off / on) and removal of the installation media, I get the following error from the UEFI firmware:
screenshot-boot-uefi-error.png


Here is the vm-template that I use:
Code:
loader="uefi"
cpu=4
graphics="yes"
memory=8192M
network0_type="virtio-net"
network0_switch="public"
disk0_type="virtio-blk"
disk0_name="disk0.img"

I checked the EFI-partition on the virtual hard drive; Slackware created a directory EFI/Slackware with contents as follows:
screenshot-slackware-efi-partition.png


It also created an UEFI-boot entry (“BOOT0005“ at the end of the list):
screenshot-slackware-15.0-efibootmgr.png


So, everything looks fine.

Which makes me wonder: Is the elilo bootloader supported at all?

Btw: The Slackware installation media uses grub as a bootloader, storing it as EFI/BOOT/BOOTX86.EFI, which works fine! But for some reason that choice is not made for the main system which actually gets installed.
 
The numbers for entries seem to jump around, that non-working "misc device" is Boot0002 in efiboomgr output, and is Boot0001 in error message. I am not sure if boot menu would work with bhyve's efi "firmware", but try setting a non-0 timeout ( efibootmgr -t 5, or whatever value you like).
 
The numbers for entries seem to jump around, that non-working "misc device" is Boot0002 in efiboomgr output, and is Boot0001 in error message. I am not sure if boot menu would work with bhyve's efi "firmware", but try setting a non-0 timeout ( efibootmgr -t 5, or whatever value you like).
I set the EFI-timeout to 10 seconds, but it has no effect: Although I connect at once with vncviewer, there is the same error message about this strange “misc device”.
 
I set the EFI-timeout to 10 seconds, but it has no effect: Although I connect at once with vncviewer, there is the same error message about this strange “misc device”.
May be set the "wait" option in bhyve settings (rfb device options) so it would not actually boot until you are connected with the vncviewer? Not saying that there actually must be something, but let's make sure.
 
May be set the "wait" option in bhyve settings (rfb device options) so it would not actually boot until you are connected with the vncviewer? Not saying that there actually must be something, but let's make sure.
I used the graphics_wait from vm but the error persists.
 
I managed to install grub in a way that it boots the system, simply dropping elilo.

I am thinking about writing this down as a tutorial.

Do you think there would be interest?
 
Yes, I for one, would be interested. I've only run bhyve, so far, with various RHEL versions and clones, and Windows, all of which have a default uefi template.
 
Just for clarity - this is not the problem of bhyve or Slackware. I checked Slackware in CBSD, which supports UEFI VARS by default and VM boots fine (GPT + EFI partition) with ELILO without any extra action.
You must enable UEFI VARS, but I don't know a specific parameter for `vm-bhyve`.
 
Just for clarity - this is not the problem of bhyve or Slackware. I checked Slackware in CBSD, which supports UEFI VARS by default and VM boots fine (GPT + EFI partition) with ELILO without any extra action.
You must enable UEFI VARS, but I don't know a specific parameter for `vm-bhyve`.
The relevant parameter for sysutils/vm-bhyve seems to be uefi_vars="yes", but when I do this, I cannot connect via VNC, because “the connections was reset by peer”. Will try raw bhyve when time permits.
 
seems to be uefi_vars="yes",
I'm pretty sure this setting should be enabled by default because the system isn't working as intended without VARS. You can check args, `keyword`: ... -l bootrom,<firmware>,<path-to-BHYVE_UEFI_VARS> ...
 
I recently migrated some linux-VMs (RHEL, SUSE and ubuntu) from smartOS/KVM to FreeBSD/bhyve and I couldn't get any of them to boot via the default UEFI loader - all of them only booted with grub and hard-coded 'linux-X.Y.Z' and 'vmlinuz-X.Y.Z' values, so it will blow up on every upgrade just like grub usually did on bare-metal...
Not even the installer images e.g. for RHEL or SUSE Linux would boot with UEFI, only if jumpstarted with the grub loader - again, needing to hard-code the linux-X.Y.Z and vmlinuz-X.Y.Z files in the vm config (because the generic "linux" and "vmlinuz" files in /boot never actually worked).
 
Back
Top