RFC now defines arch code 00:09 for EFI x86-64 (causes ESXi EFI VM's to fail to boot)

Bug #1768034 reported by KingJ
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
Medium
Newell Jensen

Bug Description

If a VM is created in VMWare ESXi and set to boot in EFI mode, it will be unable to boot from MAAS as MASS serves the VM a non-EFI compatible bootloader.

This is because the VM reports a PXE architecture of 00009, as confirmed by running a packet capture and examining the DHCP request from the VM. However, MAAS currently serves up bootloaders as per the following arch as reported by the client;

0: pxelinux.0 (legacy BIOS)
7: bootx64.efi (EFI x64)
B: grubaa64.efi (ARM x64)
E: pxelinux.0 (powernv)

If no match is found, pxelinux.0 is served.

Reading around, PXEClient:Arch:00009 is used by VMWare to signify either EFI 32 or 64 bit.

To fix this, I edited /var/lib/maas/dhcpd.conf to add the following entry before the final else case in the bootloader section;

} elsif option arch = 00:09 {
    # uefi_amd64
    filename "bootx64.efi";

After restarting maas-dhcpd and restarting the VM, it successfully booted from MAAS and ran the commissioning tasks. However, I don't know how persistent this fix will be given that dhcpd.conf is managed by MAAS.

Would it be possible to persistently add a the lines above to MAAS's DHCP configuration?

MaaS: 2.4.0-beta2
MaaS Host: Ubuntu 18.04 LTS
ESXi: 6.5.0 Update 1 (Build 7388607)

Related branches

Revision history for this message
KingJ (kj-kingj) wrote :
Revision history for this message
Andres Rodriguez (andreserl) wrote :

This needs to be in addition to 00:07 that MAAS currently defines.

summary: - ESXi VMs can't PXE boot in EFI mode due to missing arch in DHCP
- configuration
+ RFC now defines arch code 00:09 for EFI x86-64 (causes ESXi EFI VM's to
+ fail to boot)
Changed in maas:
milestone: none → 2.4.0rc1
importance: Undecided → High
importance: High → Medium
status: New → Triaged
Revision history for this message
Andres Rodriguez (andreserl) wrote :
Revision history for this message
Lee Trager (ltrager) wrote :

Some newer machines also expect the bootloader to come over HTTP - file:///home/nuke/Downloads/EDKIIHttpBootGettingStartedGuide_0_8.pdf

Revision history for this message
Lee Trager (ltrager) wrote :
Changed in maas:
status: Triaged → Fix Committed
Changed in maas:
assignee: nobody → Newell Jensen (newell-jensen)
Changed in maas:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.