IPXE boot uefi foreman proxy, can i override filename?

I would like to use the foreman proxy to boot iPXE and provide it a bootfile.I have no clue how to configure this in foreman if it is possible so i hacked the dhcp config to include:

option client-architecture code 93 = unsigned integer 16;
if exists user-class and option user-class = "iPXE" {
    filename "http://foreman.server.local/unattended/iPXE";
} elsif option client-architecture = 00:00 {
    filename "undionly.kpxe";
} else {
    filename "ipxe.efi";
}

This is not a good solution but it’s mainly for finding a working solution.

If i boot uefi it works with above config. Than i can start autodiscovery and the host shows up. It a windows host that has to start using IPXE with a custom file: filename "http://foreman.server.local/unattended/iPXE"; but it seems foreman does something with the DHCP server using it’s API. I can select iPXE but the filename part is missing and ill end up having a bootloop.

If i restart the DHCP server the config above kicks in and the installation works.

Does anyone know if it is possible to override the filename on OS basis like u can do pxe-loader?

Welcome back! This is documented at:

https://docs.theforeman.org/nightly/Provisioning_Guide/index-foreman.html#Configuring_Networking-Configuring_gPXE_to_Reduce_Provisioning_Times

Note: If you use an isolated network, use a Smart Proxy server URL with TCP port 8000 , instead of the URL of Foreman server.

So if you have a Smart Proxy with Template feature turned on and your HTTP port is 8000 (the default) then just update the port in your URL.

The docs also contains information about bootstrap=1 option which lets you download an intermediate iPXE script where you can decide what to do with a host.

Help us to improve our docs, the content is at: GitHub - theforeman/foreman-documentation: Documentation for the Foreman Project and its ecosystem

Thanks for the correct parts of the docs. Ill try to make it work and ill report my finding when i am done.

1 Like