Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

My existing network environment provides the following:

  • DHCP server that sends PXE clients to a particular TFTP server
  • TFTP server with SYSLINUX "pxelinux.0" file for booting

The SYSLINUX installation defaults on timeout to "boot from local disk", which allows existing clients to reboot correctly but also provides for the option of booting into a rescue or provisioning environment.

I am testing a new provisioning environment which resides on a different TFTP server than the one pointed to by the DHCP server. Existing clients depend upon the current environment, but I'd like to refer test clients to the new TFTP server for provisioning.

Ideally I'd like to be able to use a particular menu option from the SYSLINUX prompt that would cause the client to boot from another (hardcoded, rather than DHCP-server-provided) TFTP server.

I tried installing a custom gPXE image as a menu option on SYSLINUX. The custom image (re-)acquired a DHCP address and went to the hardcoded TFTP server, but it's missing a piece that I don't think gPXE is capable of fulfilling.

The new provisioning system is based upon Cobbler, and it depends upon the usual PXE sequence where the client looks for a file named with its MAC address before settling for a less-specific, and eventually generic, file. From what I can tell, it appears that gPXE isn't capable of doing this mac-address-based boot sequence.

Can anyone tell me of another way to do this? I've been banging my head for several days on this problem. Thanks in advance!

share|improve this question
add comment

1 Answer

Take pxelinux.0 from Ubuntu 10.4 LTS. That will go through the "normal" iteration: MAC - IP in HEX - ... default.

It would be simpler to tell your DHCP server NOT to anwer to certain requests and set up another DHCP in the same network (not authoritative) that answers your test-server requests (and does not answer to anything else).

share|improve this answer
    
I don't have control over the DHCP server. Once the new provisioning system is "live" I may be able to get them to cut over directly to the new TFTP server, but only if I can place the rescue environment and other images out there. I will never be able to get changes made on a per-server basis. –  Tony Kolstee Apr 1 '12 at 0:41
    
Which pxelinux.0 boot file should the Ubuntu version replace? The one on the initial "main" TFTP server? If that's the case, will this still allow us to use the menu options that we're currently using out there? What should be in the new menu option that will point the client to the second TFTP server? –  Tony Kolstee Apr 1 '12 at 0:43
    
@Tony I thought you already solved that secondary TFTP part an were searching for a solution there? Anyway you can replace both. Syslinux from Ubuntu is quite "new" - compared to RedHat 5 or SLES 10. So it should be able to parse your syntax. –  Nils Apr 1 '12 at 20:21
    
I had been able to point the client at the secondary TFTP site, but it was going straight for "pxelinux.0" at the secondary site and not using the normal MAC address-based sequence of requests. I felt a change on the first TFTP server might cause the client to correctly work wrt the second TFTP server. I'll give this a try and see if it does any good, although I have a feeling some config file stanzas will need to change. –  Tony Kolstee Apr 2 '12 at 17:30
    
@TonyKolstee what is wrong with going for pxelinux.0? That will in turn go for the "MAC"-request, then to the "IP/Hex" request. –  Nils Apr 2 '12 at 21:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.