According to ISC's dhcpd manpage:

The filename statement

filename "filename";

The filename statement can be used to specify the name of the initial boot file which is to be loaded by a client. The filename should be a filename recognizable to whatever file transfer protocol the client can be expected to use to load the file.

My questions are:

  • What file transfer protocols, besides tftp, are available to load the file (e.g. What protocols "can be expected to" load the file)? How can I tell? Can I see a list of these protocols?
  • Does my choice of DHCP server influence which file transfer protocols are in use? Pretend I want to use dnsmasq instead of ISC's dhcpd
  • Are these features dependent on the PXE which is in use (e.g. My Intel NICs use an Intel ROM)?
  • I know that some PXE-variants, such as iPXE/gPXE/Etherboot, can also load files over HTTP. However, the PXE rom needs to be replaced with the iPXE image, either by chainloading or by burning the PXE rom onto the NIC. For example, the iPXE Howto "Using ISC dhcpd" says:

ISC dhcpd is configured using the file /etc/dhcpd.conf. You can instruct iPXE to boot using the filename directive:

filename "pxelinux.0";


filename "http://boot.ipxe.org/demo/boot.php";

With the stock PXE ROM, you're pretty much limited to only TFTP. When you chainload something like iPXE, you have significantly more options.

Note that you can use the built in PXE rom to load iPXE (over TFTP), then use iPXE to boot off another protocol. This process is called chainloading, and is documented here: http://ipxe.org/howto/chainloading

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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