Debian with Grub2 UEFI HTTP running into problems

Problem: When trying to install Debian with Grub2 UEFI HTTP it always told us the preconfiguration file is corrupt. After a longer investigation we found it being caused by the dhcp lease containing supersede server.filename = "http://smart-proxy.example.com:8000/httpboot/host-config/aa-bb-cc-dd-ee-ff/grub2/boot.efi";. When removing it, it installed fine. So I tested with other distributions and as they were also fine with it, I monkey-patched smart-proxy/modules/dhcp_common/isc/omapi_provider.rb at develop · theforeman/smart-proxy · GitHub by commenting the line. I think this is required for bootloader-universe and secure-boot only, so in this environment it would be fine for now. Do I miss another reason for this? Did anyone else run into this problem and found a different fix? Or even better does one understand the root cause?

Expected outcome: No monkey-patch needed to install Debian.

Foreman and Proxy versions: 3.15.0

Foreman and Proxy plugin versions: Katello 4.17.1

Distribution and version: AlmaLinux 9

Other relevant data:

Likely irrelevant but the systems are VMs on Compute Resource Proxmox

1 Like

Hi.

I had a look and ran into the same result that the VM (VMware) was not able to boot into GRUB2 when using Grub2 UEFI HTTP.

In my case the problem was with DNS because it resolved the FQDN to the external IPv4 instead of the internal one for the provisioning network.

First, try to download the actual file from your Smart Proxy:

smart-proxy$ wget http://smart-proxy.example.com:8000/httpboot/host-config/aa-bb-cc-dd-ee-ff/grub2/boot.efi

If this works, try to replace temporary the FQDN by IPv4 in the /var/lib/dhcpd/dhcpd.leases file.

Also make sure that you really use HTTP protocol for booting over network (Enter UEFI BIOS → Boot ManagerUEFI HTTPv4 (MAC:AABBCCDEEFF))

1 Like