Pxe boot forward with UEFI support

@billwear - I have an update here. Success! I’ll post more in the AM (or well, later this morning at a more “normal” hour).

The influencers:

  • “CSM” (Compatibility Support Mode) on our motherboard (ASRock B450M mini-ITX) has an underlying option for “PXE OpROM Policy” - and it defaults to “Legacy Only”. What’s more, this section is tucked away under the “Boott” menu, away from any other PXE-related settings. Changed it to “UEFI Only”
  • In terms of dnsmasq.conf and PXE traffic: dhcp-match=set:efi-x86_64,option:client-arch,9 does not work with MAAS, at least not with our hardware. Only dhcp-match=set:efi-x86_64,option:client-arch,7 works (“BC”)

Need more info on why arch,9 does not seem to work. Observing RFC4578, it seems our hardware would fall under “x86_64”. Could this be a bug within MAAS? Or perhaps some odd handling upstream? Another thread out in the wild indicates that arch,7 working for us seems to be the expected behavior - since entities that handle PXE bootloading tend to more often than not treat “7” as "I said 'the real x86_64’ ".

The takeaway for us, and perhaps offering up some end-user insight: it’s unclear how we would have been able to intuit “arch,7” being the right choice. We don’t seem to be alone in that, either. I wonder - would this concept fit, at all, within MAAS documentation somewhere?

Perhaps with the above in mind, I see there is a thread linked from @landers-robert that does seem to focus in on “7 and 9” - shim vs. grub - and the thread ends on a somewhat dreary outlook for “bare metal” users :wink: haha. That said, I’m not at all convinced I quite understand what is being discussed in that thread, so I’ll defer to the judgement of others.

Anyhow, with those two modifications, and following along with the original contributions here (including my own - “team work”, as you mentioned :slight_smile: ) - MAAS now discovers and enlists our hardware nodes 100% reliably, every time (provided that we have @georcon 's hopefully-soon-to-be-official “patch” applied in order to avoid duplicate UUIDs) .

I’ll update all my contributions here tomorrow. What a journey!

1 Like