[syslinux] PXE Booting EFI

Gene Cumm
Sun, 11 Jan 2015 17:10:09 -0000

On Sun, Jan 11, 2015 at 10:32 AM, Patrick Masotta <masottaus at yahoo.com>
wrote:
>
>>First, I was looking for the actual values.
>>For a VM with (among other values):
>
>> config.version = "8"
>> virtualHW.version = "10"
>> ethernet0.virtualDev = "e1000"
>> guestOS = "rhel6-64"
>> firmware = "efi"
>
>> I see:
>
>> option-93 = 0x07
>> option-60 ="PXEClient:Arch:00007:UNDI:003016"
>
> OK I take binaries (w/o recompiling) from
>
https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.zip\efi32\efi\syslinux.efi
>
> config.version = "8"
> virtualHW.version = "9"
> ethernet0.virtualDev = "e1000e"
> guestOS = "windows8"
> firmware = "efi"
>
> option-93 = Client System Architecture: EFI IA32 (6)
> option-60 =Vendor class identifier:
"PXEClient:Arch:00006:UNDI:003016"

Good.  These match.

> I've performed a deeper analysis and this is what's going on.
>
> The client get's its IP from VMware DHCP server, the ACK includes
NextServer=192.168.62.254 (the DHCP Server IP)
> The client gets PXE parameters from a proxyDHCP NextServer=192.168.62.1
(the PXE Server IP)
>
> While the NBP syslinux.efi is correctly retrieved considering the PXE
parameters given by the proxyDHCP (192.168.62.1)
> the TFTP request of the file ldlinux.e32 is performed with the data
included in the DHCP answer (192.168.62.254) instead.
> That's why the PXE server never receives the ldlinux.e32 TFTP request.
> Also I see  ldlinux.e32 is requested plain, w/o any path component.
>
> I think this is a bug in syslinux.efi retrieving its components w/o
considering proxyDHCP scenarios.
>
> If using the same DHP+proxyDHCP scenario I boot MS bootmgfw.efi the MS boot
manager correctly detects
> who is the real PXE server and conducts its further TFTP requests
correctly.

Excellent investigation and details.  Thank you for this help.  Given
the details of your situation, I'm reasonably certain it's a SYSLINUX
bug but there is still a small chance of it being some sort of
negative interaction.

--
-Gene