CentOS 6 And Pxeboot

Home » CentOS » CentOS 6 And Pxeboot
CentOS 7 Comments

Hi, folks,

We’ve been using pxeboot to pull up a menu, to build or rebuild machines for years. We have this new server, and it fails. Times out. What’s happening is that it tries in this order
…/pxelinux.cfg/b8945908-d6a6-41a9-611d-74a6ab80b83d
…/pxelinux.cfg/01-88-99-aa-bb-cc-dd
…/pxelinux.cfg/C0A8025B
…/pxelinux.cfg/C0A8025
…/pxelinux.cfg/C0A802
…/pxelinux.cfg/C0A80
…/pxelinux.cfg/C0A8
…/pxelinux.cfg/C0A
…/pxelinux.cfg/C0
…/pxelinux.cfg/C
…/pxelinux.cfg/default

The first are MAC addresses, etc. I want it to pull default. It takes
*minutes* to time out each option, so after a dozen or 15 min, when it gets to defaul, TFTP has timed it out.

Now, our dhcpd config has this for pxeboot:
group
{
allow booting;
allow bootp;
filename “gpxelinux.0”;
option-209 = “pxelinux.cfg/default”;
option subnet-mask 255.255.254.0;
option routers ;
default-lease-time 172800; # 2 days.
max-lease-time 432000; # 5 days.

I added that option-209, but it didn’t take. I’ve been looking at the docs, but if someone’s can tell me off the top of their head what I need to do, I’d appreciate it. This has become a high priority today….

mark

7 thoughts on - CentOS 6 And Pxeboot

  • I’ve never seen that sort of delay before, but it’s tough to strace an PXE environment. :-)

    Do you have a next-server option that points to your TFTP server? I’ve always hardcoded an IPv4 address into that setting:

    group {
    # normal stuff
    next-server 10.11.12.13;
    filename “gpxelinux.0”;
    }

    Also, in case you’re ever interested, I’ve written a script that generates suitable IPv4-based filenames for pre-default usage:

    https://github.com/heinlein/pxehex

  • To be pedantic, the first one is a MAC address, the others are hex versions of IP addresses – i.e. 192.168.2.91 (the discovered DHCP IP
    address)

    It shouldn’t time out on trying to retrieve a file if the TFTP server is responding – each attempted retrieval should return a “not found”
    rather than sitting there doing nothing. Trying symlinking the MAC
    address filename to ‘default’ so it retrieves it first before any timeout could have happened.

    Also, you might like to try tcpdump to see what is actually happening on the TFTP port.

    P.

  • Pete Biggs wrote:

    I understand all that.

    You’d think. And as I said, this has been working for years, on three or four OEM’s hardware. Suddenly, there’s this new box from Penguin that’s IBM-based, and it’s using something called “openether.org” firmware, and it takes minutes between timeouts, instead of seconds. I’m talking to the OEM, but trying to figure out what’s going on. I haven’t found a timeout on the server side, though I suspect there is one, but I really *don’t*
    want to make it 20 min. I’ve also just been googling, trying to find out if -mapfile for TFTP will let me rename what it’s looking for to
    “default”, but that search is going nowhere, fast.

    I’m under the impression I know – the client *tells* me what it’s looking for, in the order above, but it sits there, and sits there, before it tries the next option.

    mark

  • Whatever openether.org is, it sounds buggy.

    I do a lot of pxe and your post intrigued me so I poked around some and when I try openether.org, it redirects to http://www.openether.org and fails.

    Might I suggest this page:

    http://www.syslinux.org/wiki/index.php?title=PXELINUX.

    There is some discussion of broken pxe stacks and just as a test for you, how about pxe on a floppy/cdrom/usb key? I’ve done crazy things like that on occasion.

    One other possibility that just occurred to me is it may not be a bug per se, but a UEFI pxe boot attempt… Which could do this too. I just *LOVE* UEFI pxe and someday I will find the person who thought it up in a dark alley and make them show me a universal setup.

  • there’s no such domain. there’s a softether.org, which is a VPN
    package, and some kinda github.com/openether which appears to be Ethereum blockchain based distributed computing related.

  • Yeah, different hardware tickling different bugs …

    On the TFTP server can you not just do

    ln -s default b8945908-d6a6-41a9-611d-74a6ab80b83d

    or

    cp default b8945908-d6a6-41a9-611d-74a6ab80b83d

    rather than playing with mapping files – just for testing purposes.

    Have you tried pxelinux.0 instead of gpxelinux.0? Or possibly iPXE?

    I was more thinking of seeing if the server responds at all – the symptoms you see look like the server either ignoring the commands or just not seeing them. I would suggest that a firewall is in the way somewhere or wrong subnet or something like that, but as you say, it’s working for other clients.

    P.

  • gethostip … I simply rebuilt the relevant C5 rpms for C6, system-config-netboot and system-config-netboot-cmd, IIRC.