[Bug 278984] Debian 12 won't boot in UEFI mode

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 23 May 2024 06:16:57 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278984

Corvin Köhne <corvink@FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|New                         |Closed
                 CC|                            |corvink@FreeBSD.org
         Resolution|---                         |Not A Bug

--- Comment #31 from Corvin Köhne <corvink@FreeBSD.org> ---
You have to copy the file /usr/local/share/uefi-firmware/BHYVE_UEFI_VARS.fd to
any location you want. Then you have to pass that copy to bhyve with:

-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd,BHYVE_UEFI_VARS.fd

Replace BHYVE_UEFI_VARS.fd with the full (or correct relative) path to your
copy of the VARS file.

When installing Debian, more precisely grub, it creates an EFI boot entry
pointing to /EFI/debian/grubx64.efi. Boot entries are saved as EFI VARS. If you
haven't passed a VARS file to bhyve when installing Debian, this information is
lost after reboot. For already installed VM's you either have to reinstall grub
or create a new boot entry on your own:

efibootmgr --create --disk <boot-disk> --part <boot-partition> --loader
/EFI/debian/grubx64.efi --label <pick-a-name>

Note that your boot partition is commonly mounted at /boot/efi on Debian.
Therefore, the path to the loader is just /EFI/debian/grubx64.efi.

Btw. Qemu is able to use a seperate EFI CODE and EFI VARS files too. So, if you
want to create your VM image with Qemu, use seperate files for CODE and VARS.
Then reuse the VARS file when booting bhyve and everything should work as
expected.

I'm closing this bug report as it's already fixed.

-- 
You are receiving this mail because:
You are the assignee for the bug.