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
On 09/13/2009 08:42 PM, Ohad Levy wrote:> > 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 >Testing on virtual hardware is cantankerous, since they generally have even worse BIOSes than real hardware. However, some of these problems are probably independent on this. Collecting Wireshark traces are often useful in getting debugging network boot failures. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.
On 09/13/2009 10:19 PM, Ohad Levy wrote:> > On 9/14/09, *H. Peter Anvin* <hpa at zytor.com <mailto:hpa at zytor.com>> wrote: > > Testing on virtual hardware is cantankerous, since they generally have > even worse BIOSes than real hardware. However, some of these problems > are probably independent on this. Collecting Wireshark traces are often > useful in getting debugging network boot failures. > > In my opinion virtual hardware should be considered the same as physical > hardware, when in a time like these every decent datacenter has a > mixture of them all. >There is a major difference, though, in how they can be upgraded. The point, though, was that the network booting firmware for many VMs have serious bugs.> I would like to have a unified way of booting clients, hopefully that > should include virtual hosts as well. > > in any case, about the trace, I'll provide some more info when I'm next > to my lab setup, nevertheless, do you have any idea about how to solve > the local boot issues (Where it works with pxelinux but doesn't with > gpxelinux.0)?Certainly not with current data. -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf.