Project

General

Profile

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

Alexander Chuzhoy, 12/16/2012 04:47 AM

1 1 Alexander Chuzhoy
h1.  Deal with updated pxeboot files without the need to deletere-download them 
2
3
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.
4
5
Here are the steps to deal with the described above:
6
7 2 Ohad Levy
# In your foreman instance, go to "Provisioning templates".Create a new template (kind: PXELinux) and have the following in the body:
8 5 Alexander Chuzhoy
( You'll need to have the ipxe.lkrn file in your tftpboot directory. Can be downloaded from here: http://ipxe.org/download.)
9 3 Ohad Levy
<pre><code>default linux
10 2 Ohad Levy
label linux
11
IPAPPEND 2
12
kernel ipxe.lkrn
13
append dhcp && chain <%25= foreman_url('gPXE') %25>
14 1 Alexander Chuzhoy
</code></pre>
15 2 Ohad Levy
# Make sure you have a template (kind: gPXE) with the following in the body:
16 3 Ohad Levy
<pre><code>#!gpxe
17 2 Ohad Levy
kernel <%25= "#{@host.url_for_boot(:kernel)}" %25> ks=<%25= foreman_url("provision")%25>
18
initrd <%25= "#{@host.url_for_boot(:initrd)}" %25>
19
boot
20
</code></pre>
21
# Make sure you have your (or default) kickstart template (kind: provision).
22
# In the association tab of the above templates select the desired "applicable operating systems".
23
# Go to "Operating Systems" and in the "Templates" tab select the respective "provision", "gPXE" and "PXELinux" templates (should be 3 templates in total).
24
# Now you can either assign the OS to some host group or simply edit some host and change its OS.
25
# That's it - verify it works!