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 <our router>; 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
On Tue, 11 Apr 2017, m.roth at 5-cent.us wrote:> 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.I've never seen that sort of delay before, but it's tough to strace an PXE environment. :-)> 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 <our router>; > default-lease-time 172800; # 2 days. > max-lease-time 432000; # 5 days.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 -- Paul Heinlein <> heinlein at madboa.com <> http://www.madboa.com/
> 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.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)> 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.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:> >> 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. > > 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)I understand all that.> >> 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. > > 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.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.> > Also, you might like to try tcpdump to see what is actually happening > on the TFTP port.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
> 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/pxehexgethostip ... I simply rebuilt the relevant C5 rpms for C6, system-config-netboot and system-config-netboot-cmd, IIRC.