Problem:
While there is kernelcmd for Kickstart-based PXE templates, it seems the Preseed-based PXE templates are lacking the equivalent thing for Debian-based systems.
Notably, I’d like to set
ethdetect/prompt_missing_firmware=false
which needs to be set before the actual Preseed file is loaded (i.e. during initial network setup) IIUC.
What you refer to is a host parameter, it is then used in pxe_kernel_options what we call a template macro. Here is its documentation:
apipie :method, 'Returns the list of kernel options during PXE boot' do
desc "It requires a @host variable to contain a Host object. Otherwise returns empty string.
The list is determined by @host parameter called `kernelcmd`. If the host OS
is RHEL, it will also add `modprobe.blacklist=$blacklisted`, where blacklisted
modules are loaded from `blacklist` parameter.
This is mostly useful PXELinux/PXEGrub/PXEGrub2 templates."
returns String, desc: 'Either an empty string or a string containing a list of kernel parameters'
example "pxe_kernel_options # => 'net.ifnames=0 biosdevname=0'"
end
Feel free to use it in your templates, it is currently only used in kickstart PXE templates. PR for debian welcome!
Perfect, thanks for the reply!
I’ll add pxe_kernel_options to clones of the default Preseed PXE provisioning templates then and test them on our clients, and if all is well look into creating a PR to upstream it so we can later on drop our clones again.