Fetch boot files via http instead of TFTP » History » Version 5

« Previous - Version 5/23 (diff) - Next » - Current version
Alexander Chuzhoy, 12/16/2012 04:47 AM

Deal with updated pxeboot files without the need to deletere-download them

Let's say you use a beta version of some Linux release, and although the installation tree update is easily resolved by having a soft link named "Latest" that always points to the latest tree, you still have a problem with the pxeboot files (i.e vmlinuz and initrd), as these files need to be placed under your tftp shared directory and updated to match the installation tree.

Here are the steps to deal with the described above:

  1. In your foreman instance, go to "Provisioning templates".Create a new template (kind: PXELinux) and have the following in the body:
    ( You'll need to have the ipxe.lkrn file in your tftpboot directory. Can be downloaded from here:
    default linux
    label linux
    kernel ipxe.lkrn
    append dhcp && chain <%25= foreman_url('gPXE') %25>
  2. Make sure you have a template (kind: gPXE) with the following in the body:
    kernel <%25= "#{@host.url_for_boot(:kernel)}" %25> ks=<%25= foreman_url("provision")%25>
    initrd <%25= "#{@host.url_for_boot(:initrd)}" %25>
  3. Make sure you have your (or default) kickstart template (kind: provision).
  4. In the association tab of the above templates select the desired "applicable operating systems".
  5. Go to "Operating Systems" and in the "Templates" tab select the respective "provision", "gPXE" and "PXELinux" templates (should be 3 templates in total).
  6. Now you can either assign the OS to some host group or simply edit some host and change its OS.
  7. That's it - verify it works!