EFI64 "On Demand" hangs while downloading kernel

    1. EFI64 PXE settings on CloneDeploy Server: ipxe_efi, kernel=4.9.8 (I changed it because the defaults also caused similar hanging)
    2. Using DHCP proxy (seems to work fine).
    3. Net booting from an EFI (64) VM, I reach the first menu, select "On Demand" and then it gets stuck on this:
      [code] 45%[/code]
      The percentage varies when I reboot to try again but it never reaches 100%. (though CPU is constantly stuck on 100% :))
      I checked what happens if I paste that link in my browser and it downloads it quickly and fully.

    tcpdump shows it initially turned to the right URL, but then a weird URL (see marked TFTP lines):
    The VM's IP is at first, then (I guess due to the imaging environment) it changes to (I verified by the MAC address)

    TCP stream in wireshark shows:
    [code]GET /clonedeploy/service/client.asmx/IpxeBoot?filename=4.9.8&type=kernel HTTP/1.1
    Connection: keep-alive
    User-Agent: iPXE/1.0.0+

    HTTP/1.1 200 OK
    Date: Thu, 30 Mar 2017 18:19:23 GMT
    Server: Apache/2.4.18 (Ubuntu)
    Content-Disposition: inline; filename=4.9.8
    X-AspNet-Version: 4.0.30319
    Cache-Control: private, max-age=0
    Keep-Alive: timeout=5, max=100
    Connection: Keep-Alive
    Transfer-Encoding: chunked
    Content-Type: application/octet-stream[/code]

    Every other combination of settings that I tried for the EFI64 it always hung after selecting "On Demand".
    (yes, I created the boot files each time I changed something, and it showed on the first menu that loaded)

    Please advise.

  • Try changing to the 64bit kernel. Efi 64 bit requires a 64bit kernel.

  • I see now you said you tried defaults.

  • The same issue happens if I select "Client Console", "Add computer", "Diagnostics".
    Only "Boot to Local Machine" works.

  • I wonder if this has something to do with the settings that enabled Apple NetBoot with the Mac Mini. I'll try reverting the changes to see if it has any effect.

  • Also, when trying syslinux, it hangs before even reaching the first menu on this:
    [code]Getting cached packet
    My IP is[/code]

  • For efi the only real option is ipxe. Syslinux hasn't been developed in quite some time, and doesn't really work with EFI and grub unfortunately has a bug where it doesn't read proxydhpc data. Overall I haven't had any issues with ipxe though.

  • Have you tried any of the other ipxe versions?

  • Yes, all of them.

  • What hypervisor are you using? Can you try a different nic type?

  • vSphere. Can't change NIC in existing machine. 😕
    Edit: Yes I can, hold on.

  • Replacing E1000E with VMXNET 3 seems to have fixed this, but now it's stuck on:
    [code] ** Starting Network On Interface eth0 **

    udhcpc (v1.23.2) started
    Sending discover...
    Sending discover...
    No lease, failing
    udhcpc (v1.23.2) started
    Sending discover...
    Sending discover...[/code]

    I'll try another NIC.

  • Ok it eventually loaded just after posting. Thanks!