[syslinux] gpxelinux

Ohad Levy ohadlevy at gmail.com
Sun Sep 13 20:42:37 PDT 2009


Hi All,

I'm trying to setup gpxelinux instead of pxelinux, my goal is to fetch the
configuration files and images via http.

additionally, I want to setup all servers to boot by default from PXE - the
idea is that I can control whats booted in another place, and I don't need
to physically (or virtually) go through menus or do stuff on the machine.

my basic proof of concept is:

isc dhcp (generated via omshell):

host u904 {
  dynamic;
  hardware ethernet 54:52:00:4b:a5:38;
  fixed-address 192.168.2.106;
        supersede server.next-server = c0:a8:02:7d;
        supersede server.filename = "gpxelinux.0";
        supersede host-name = "u904.lan";
        supersede server.vendor-option-space = "pxelinux";
        supersede pxelinux.magic = f1:00:74:7e;
        supersede pxelinux.pathprefix = "http://foreman.lan/";
        supersede pxelinux.configfile = "unattended/common";
}

with the following options as vendor options:

option space pxelinux;
option pxelinux.magic      code 208 = string;
option pxelinux.configfile code 209 = text;
option pxelinux.pathprefix code 210 = text;
option pxelinux.reboottime code 211 = unsigned integer 32;

so far so good  -  this allows me to boot over pxe, fetch the gpxelinux.0
via tftp and than it fetches http://foreman.lan/unattended/common as the
first config file.

however, I still have a few problems:
1. it doesn't always fetch the http config files, in most cases there is a
long timeout
2. sometimes it shows in the web logs that it fetchs the config file, but it
doesn't show it on the console.
3. many times, I want to boot from local disk, however it seems that
gpxelinux doesnt do that as reliable as pxelinux, using chain.c32 solves the
problem (so far), I've double checked and confirmed that it works with
pxelinux where gpxelinux does not.
4. if the http server is not responding, it takes a lot of time to try the
next file (could be talking about 20-30 seconds between each config file)
5. if the http server is not responding and localboot does work, the client
returns to gpxe prompt.

I've been testing mostly on KVM (which I know that has some issues -
https://bugzilla.redhat.com/show_bug.cgi?id=472236), however i've seen
similar results when testing with VMWares.

Whats mostly important for me is to have a reliable network booting, if it
hangs for long time or worse cant boot from local disk, I would have to
revert to pxelinux.0

My goal is to integrate gpxelinux in my project - http://theforeman.org

I'll appreciate any feedback..
Thanks,
Ohad



More information about the Syslinux mailing list