Project

General

Profile

Fetch boot files via http instead of TFTP » History » Revision 8

Revision 7 (Alexander Chuzhoy, 12/17/2012 06:39 AM) → Revision 8/26 (Ohad Levy, 02/27/2013 02:07 PM)

h1.    Deal with updated pxeboot files without the need to delete or re-download 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: 

 # 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 attachment:ipxe.lkrn 
 <pre><code>default linux 
 label linux 
 IPAPPEND 2 
 kernel ipxe.lkrn 
 append dhcp && chain <%25= foreman_url('gPXE') %25> 
 </code></pre> 
 # Make sure you have a template (kind: gPXE) with the following in the body: 
 <pre><code>#!gpxe 
 kernel <%25= "#{@host.url_for_boot(:kernel)}" %25> ks=<%25= foreman_url("provision")%25> 
 initrd <%25= "#{@host.url_for_boot(:initrd)}" %25> 
 boot 
 </code></pre> 
 # Make sure you have your (or default) kickstart template (kind: provision). 
 # In the association tab of the above templates select the desired "applicable operating systems". 
 # Go to "Operating Systems" and in the "Templates" tab select the respective "provision", "gPXE" and "PXELinux" templates (should be 3 templates in total). 
 # Now you can either assign the OS to some host group or simply edit some host and change its OS. 
 # That's it - verify it works!