RFC now defines arch code 00:09 for EFI x86-64 (causes ESXi EFI VM's to fail to boot)
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:
To fix this, I edited /var/lib/
} 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
- Blake Rouse (community): Approve
- MAAS Lander: Approve
-
Diff: 87 lines (+24/-12)4 files modifiedsrc/provisioningserver/boot/__init__.py (+4/-1)
src/provisioningserver/boot/uefi_amd64.py (+1/-1)
src/provisioningserver/dhcp/config.py (+11/-8)
src/provisioningserver/dhcp/tests/test_config.py (+8/-2)
Changed in maas: | |
status: | Triaged → Fix Committed |
Changed in maas: | |
assignee: | nobody → Newell Jensen (newell-jensen) |
Changed in maas: | |
status: | Fix Committed → Fix Released |
This needs to be in addition to 00:07 that MAAS currently defines.