[CentOS] CentOS 6 and pxeboot

Tue Apr 11 16:42:05 UTC 2017
Paul Heinlein <heinlein at madboa.com>

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/