Support for gPXE (and by extension, iPXE) was added in 2.2.3 for booting ESXi5 installations, however it can be used for other installations as well.
First, install the gpxe/ipxe boot images package for your OS (for RHEL variants and Fedora, the package name is gpxe-bootimgs or ipxe-bootimgs). Cobbler sync does not currently copy the undionly.kpxe file to the TFTP root directory. Again, for RHEL/Fedora you'd do something like this:
Via the CLI or Web UI, just enable the gpxe option. For example:
manage_dhcp, a new entry for systems with static interfaces will be created as follows (following a "cobbler sync"):
Profiles and systems that use DHCP for addresses are handled by the default network block included in the
If you're not using DHCP locally, you can just use the URL above with your custom gPXE/iPXE script:
http://<cobbler server ip>/cblr/svc/op/gpxe/system/foo.
Here is a sample of the rendered configuration:
The templates for gPXE are stored with the other PXE templates for cobbler, in
/etc/cobbler/pxe. The default for systems/profiles is
/etc/cobbler/pxe/gpxe_system_linux.template, which you can see is the source for the above output:
kernel http://$server/cobbler/images/$distro/$kernel_name imgargs $kernel_name $append_line initrd http://$server/cobbler/images/$distro/$initrd_name boot
As with all PXE templates, the
$append_line variable is generated internally by cobbler, and contains the kopts arguments as well as other distro defaults that may be configured.