Pxe boot stuck at dhcp after tftp

Problem:

Expected outcome:

Foreman and Proxy versions:

Foreman and Proxy plugin versions:

Distribution and version:

This is what the PXElinux template looks like
DEFAULT linux
LABEL linux
KERNEL ipxe.lkrn
APPEND dhcp && chain http://foremanpuppetserver/unattended/iPXE?token=1f91c5ef-117d-4178-a7a7-e87ba35f4079
IPAPPEND 2

what looks like “Kernel ipxe.lkrn” passed. tcpdump shows that the gateway sends some dhcp discovery/request and no server responds back

And this what I see from the console

and tcpdump shows the last request timed out - note they are not http request, they are dhcp!

so I don’t understand why dhcp discovery again. And I also confirm the http request on the console screenshot should work if executed.

Any hint?

and the tcpdump show the last several packets

Have you ignored our default post template where we ask for deployment details intentionally? Just asking, I don’t know what else to do to get just a tad of more information.

What kind of hypervisor or hardware your client is?

Is the network card supported by iPXE?

https://ipxe.org/appnote/hardware_drivers

Thanks lzap,

It is a Cisco UCS with intel x550 card, so it does support iPXE according to the hcl list. I am trying to install esxi7 (cisco image). I was able to install esxi7 (dell image) on a dell r730xd using the same method. But since they are in production I can not try to reproduce the problem in that environment.

I guess my expertise with pxe boot and foreman are not that great yet even I was able to do this on a dell environment (different vlan of course, but I can not tell any different settings though)

1 Like

We have seen many hardware struggling with iPXE. Before you ditch iPXE, I suggest to download the latest and greatest iPXE from here:

https://boot.ipxe.org/

Replace the file Foreman deployed, it is typically much older version from CentOS / Ubuntu / Debian. Try that chances are it works.

Thank lzap. After replaceing the ipxe.lkrn file, this is what I got

This either looks like DHCP is not replying or iPXE does not even send requests? Not sure, try the link it prints, should contain an explanation.

it is DHCP is not replying. But it already has a IP address and tftp boot file was transferred already. Why DHCP again?

The initial DHCP was not made by iPXE but PXE, therefore it worked. The same for TFTP, it uses the UNDI stack that will always work.

Then iPXE boots up and from now on, this mini-operating system needs to have a driver for your card in order to communicate (grab a new IP, do its thing).

My conclusion: Your hardware is not supported on iPXE.

My advice: If your hardware supports UEFI HTTP Boot, use that. It supports direct HTTP(S) booting, you can use grub2 (make sure to use latest version from Fedora Rawhide) or iPXE.efi too.

https://docs.theforeman.org/nightly/Provisioning_Guide/index-foreman-el.html#Creating_Hosts_with_UEFI_HTTP_Boot_Provisioning_provisioning