This error usually indicates that you have tried to open a URI using a protocol that is not supported by your current build of iPXE. For example, if you try to boot from an ftp://
URI in an iPXE build without DOWNLOAD_PROTO_FTP
enabled, then you will see this error.
You can see the list of supported protocols in the iPXE startup banner. For example, if the banner shows
iPXE -- Open Source Network Boot Firmware -- http://ipxe.org
Features: HTTP iSCSI DNS TFTP AoE bzImage COMBOOT ELF MBOOT PXE PXEXT
then you can see that FTP is not supported by this build. (Supported protocols for this build include HTTP, iSCSI, and TFTP, but not FTP.)
Things to try:
Check that the
URI that you are trying to boot from (in particular the protocol name before the first colon) is correct.
Rebuild iPXE with the protocol you want to use enabled. (You can edit the list of enabled protocols in the file
config/general.h
within your iPXE source tree.)
If you are trying to boot via TFTP, and you are not specifying a full
tftp://
URL as the boot filename, then check that your
DHCP server is handing out a
next-server
address. (Newer releases of
dhcpd do not set this address by default.)
Oracle® VirtualBox (
YMMV, 4.2.6) ships with a stripped down version of iPXE with several features disabled. The
typical method for chain loading from a vendor ROM is to use a conditional to identify the
DHCP user-class option as “iPXE”. This method does not work when the vendor ROM is iPXE and missing features you might need. This issue can be worked around in one of two ways. iPXE sets
iPXE-specific DHCP options for features that have been enabled. A conditional can be set up (
example) to check for these options and if missing, to chain boot to a full featured iPXE. Alternatively,
the VirtualBox iPXE ROM can be replaced entirely.