Project

General

Profile

Feature #10160

IwIP support for PXELinux 5.1+

Added by Slava Bendersky over 6 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
TFTP
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:

Description

Hello Everyone,
I am using foreman in mix with vmware, but experience really serious issue where impossible adjust setting for filename in DHCP, because it super seed from foreman.
We using mass deployment for remote location where use of TFTP or ipxe not an option.
VMware ipxe is not in option because it require change of each vmx file manually to load ipxe into bios.

For file initrd 44M take 1 hour 45 to download through TFTP ?
I have test case build where I am using HTTP/nginx instead TFTP and whole new vm deployment takes about 27 min with VMware.
My request is have ability to set in foreman provisioning settings which type of pxe filename to use. Right now syslinux use lpxelinux.0 which support HTTP and FTP out of the box no need chain files or different scripts to load.
Here my boot menu which I use for HTTP.

<%#
kind: PXELinux
name: OEL65_NONE_TS_DEFAULT_GRUB
oses:
- RedHat 6
%>

DEFAULT menu
PROMPT 0
MENU TITLE TheForeMan

LABEL OracleLinux 6.5 --> <%= @host.location %> | Role <%= @host.params['vm_role'] %>
kernel "<%=@host.params['foreman_pxe_boot_url'] %>/<%= @kernel %>" 
<% if @host.operatingsystem.name == 'Fedora' and @host.operatingsystem.major.to_i > 16 -%>
    append initrd="<%=@host.params['foreman_pxe_boot_url'] %>/<%= @initrd %>" %> ks=<%= foreman_url('provision')%> ks.device=bootif network ks.sendmac
<% elsif @host.operatingsystem.name != 'Fedora' and @host.operatingsystem.major.to_i >= 7 -%>
    append initrd="<%=@host.params['foreman_pxe_boot_url'] %>/<%= @initrd %>" ks=<%= foreman_url('provision')%> network ks.sendmac
<% else -%>
     append initrd <%=@host.params['foreman_pxe_boot_url'] %>/<%= @initrd %> ks=<%= foreman_url('provision')%> ksdevice=bootif network kssendmac
<% end -%>

IPAPPEND 2

Also working DHCP options for HTTP

allow booting;
allow bootp;

option fqdn.no-client-update    on;  # set the "O" and "S" flag bits
option fqdn.rcode2            255;
option pxegrub code 150 = text ;
option space pxelinux;
option pxelinux.magic code 208 = string;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;

# PXE Handoff.
filename "lpxelinux.0";

ipxe.png View ipxe.png 102 KB iPXE hangs on download Slava Bendersky, 04/21/2015 08:22 AM
Ipxe

History

#1 Updated by Lukas Zapletal over 6 years ago

  • Tracker changed from Bug to Feature
  • Subject changed from DHCP pxe options to IwIP support for PXELinux 5.1+
  • Category set to TFTP
  • Priority changed from High to Normal

VmWare network drivers are not PXELinux friendly and buggy.

By default Foreman ships with PXELinux, the lpxelinux.0 file is featured in version 5.1 (quite new version). We are not there yet. Unfortunately Foreman provisioning is designed around kernel/initrd on the TFTP server. Some refactoring would be needed in the Foreman core and operating systems.

http://www.syslinux.org/wiki/index.php/Syslinux_5_Changelog

Patches welcome!

#2 Updated by Dominic Cleal over 6 years ago

You can also load iPXE via PXE/TFTP rather than configuring it at the VM's BIOS level as the bootloader.

Chainload iPXE (ipxe.lkrn) from PXELinux is easiest with Foreman, and then iPXE can fetch files over HTTP: http://projects.theforeman.org/projects/foreman/wiki/Fetch_boot_files_via_http_instead_of_TFTP

#3 Updated by Slava Bendersky over 6 years ago

Hello Everyone,
I spent yesterday tried chain loader pxelinux ---> ipxe, but with vmware e1000 no dice. iPXE get stack while trying download OS images and each time on different percentage. I tried troubleshoot and I know this some thing to do with pxe him self, tried wget or curl to download images from web server and no problem there are or on the network. I think lpxelinux it clean solution chain loading not good so far.

Also available in: Atom PDF