This is due to Dnsmasq's use of DHCP Option 43. Many (most?) UEFI 
implementations do not seem to handle this the same as bios systems. While I 
have not seen any definitive answers as to what has changed, there are many 
complaints about this on various forums. Maybe changes were made to 
accommodate pxe over ipv6? Just a guess.

Some examples:

"Some UEFI targets are not able to correctly process option 43. For those targets it 
is necessary to set option 66 and 67." [1]
"UEFI devices are not correctly respecting the PXE Boot Menu options" [2]
"the above works if dnsmasq does not act as a DHCP proxy. For some reason the EFI 
firmware does not handle that well" [3]

Since most large companies are presumably using a commercial solution or just 
straight dhcp options for pxe boot, efi support for Proxy DHCP has not trickled 
down to any open source projects that I am aware of. I would expect this to 
become an issue in the near future, as many new systems are EFI only and do not 
include a bios compatibility support module.

I would love to see this get fixed in Dnsmasq, but I would expect it would 
require some significant changes to how it handles Proxy DHCP.

[1] 
http://www-01.ibm.com/support/knowledgecenter/SS3HLM_7.1.1.14/com.ibm.tivoli.tpm.osd.doc/install/cosd_idhcp.htm
[2] https://community.landesk.com/support/message/90065#sthash.ctWAPCAS.dpuf
[3] http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2014q1/008182.html
Another interesting example: http://firmware.intel.com/messages/331

On Feb 14, 2015, at 06:04, Greg C <icypo...@outlook.com> wrote:

Has anybody been able to pxeboot an EFI system using Dnsmasq in proxyDHCP mode? Every machine I have tried fails to boot (mostly newer Dells with Intel cards).
The relevant lines from from my config file are here:
pxe-service=x86-64_EFI,"Loading...",snponly
dhcp-range=192.168.0.0,proxy,255.255.0.0

Watching the traffic with wireshark I can see the proxy response get sent 
containing my 'menu' encapsulated in option 43 with the correct boot file name. 
Still, the client never seems acknowledge the boot info, either by showing an 
error or attempting to boot. It just times out after ~60 seconds and boots to 
the next device. If I reboot using 'Legacy PXE', everything works perfectly (I 
have a line for x86PC as well). If I switch from proxy to full DHCP I can boot 
in EFI mode without issue.
I am running Dnsmasq version 2.71 on Ubuntu if that matters.
Am I doing something wrong, or does proxyDHCP not work with EFI systems yet? 
These same machines can boot to Windows Deployment Services in proxyDHCP mode, 
so I am sure EFI PXE is capable of booting this way.

Thanks. 
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Reply via email to