[syslinux] Hyper-V Gen 2 waiting for ldlinux.e64

Clements, James James.Clements at affiliate.oliverwyman.com
Wed Oct 7 03:40:20 PDT 2015


Hi,

I am using a Windows Server 2012 R2 Hyper-V Generation 2 VM as a PXE client (no physical machines available). This is a UEFI VM, and as per instructions I've read I have disabled secure boot on this VM for the installation of Linux. I am using the latest tftp-hpa package with the following config:

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="[::]:69"
TFTP_OPTIONS="--secure --verbose"

I was using the latest version of syslinux from here: https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz
I then started testing with this version of syslinux: https://www.kernel.org/pub/linux/utils/boot/syslinux/Testing/6.03/syslinux-6.03-pre6.tar.gz

I had read in some archives that my issue was resolved for users of the 6.03-pre6 version of syslinux but testing with this version reveals the same issue for me.

The problem I am experiencing is that when I attempt to PXE boot my Hyper-V VM client, I can see it requesting the syslinux.efi file from the tftp server. The initial request has options for both tsize and blksize included, and the response packets from the tftp server include both options as well. It appears as though the file doesn't actually get transferred until a later packet request (this time with only one option of blksize included) gets sent from my VM client to my tftp server. When it does, I can see an acknowledgement from my tftp server (with only the blksize option this time) and the file transfer for syslinux.efi begins. I can see that my VM client receives the file and is aware of its size. Once this file is received, my VM client then requests ldlinux.e64 from my tftp server. This request for ldlinux.e64 again has options for both tsize and blksize included, and the response packets from the tftp server include both options as well. At this stage, unlike when syslinux.efi was requested, a second request (that includes only the blksize option) is never sent and thus ldlinux.e64 is never actually transferred. At this point the VM client just sits, waiting at the UEFI screen.

I have tried this with both the syslinux-6.03.tar.gz and syslinux-6.03-pre6.tar.gz syslinux releases. I have also modified my tftp-hpa configuration to refuse tsize, blksize and both options together. But I have not had any success in getting UEFI clients to boot.

I have a packet capture here (please excuse the 'noise') which demonstrates the problem I am seeing here:

https://dl.dropboxusercontent.com/u/102712992/capture.pcap


Thanks,

James Clements

This e-mail and any attachments may be confidential or legally privileged. If you received this message in error or are not the intended recipient, you should destroy the e-mail message and any attachments or copies, and you are prohibited from retaining, distributing, disclosing or using any information contained herein.  Please inform us of the erroneous delivery by return e-mail. Thank you for your cooperation.



More information about the Syslinux mailing list