Hi,
I want to use ipxe to boot acronis from the network.
So I configured dnsmasq to supply undiony.kbxe to a legacy bios pxe client.
This is working, however when iPXE is booted it gives me a error :
[TXE: 1 x "Network unreachable (
http://ipxe.org/28086011)"]
(I tried to compile ipxe from sources but this gives the same error)
I'm able to hit Ctrl-B and exectute a script from a webserver server using:
dhcp
chain
http://192.168.0.200/default.ipxe
This default.ipxe than loads acronis
The relevant error you get are "Nothing to boot: No such file or directory (
http://ipxe.org/2d03e13b)"
Most likely your dhcp gives out an invalid filename
(2017-10-21 18:16)NiKiZe Wrote: [ -> ]The relevant error you get are "Nothing to boot: No such file or directory (http://ipxe.org/2d03e13b)"
Most likely your dhcp gives out an invalid filename
You're right!
The first error was not the problem.
So I checked ${filename} and echo ${root-path}, which were both empty.
Then I figured out that because I use dnsmasq as a dhcp / pxe service in parallel to my routers dhcp server, I could only use pxe-service and not dhcp-boot!
Using a dhcp-match I check if it's the first or second dhcp request and supply the right file accordingly!
My working dnsmasq.config file:
Code:
# A configuration for dnsmasq to function as a proxyDHCP server,
# enabling LTSP clients to boot when an external, unmodifiable DHCP
# server is present.
# Don't function as a DNS server:
port=0
# Log lots of extra information about DHCP transactions.
log-dhcp
# Disable re-use of the DHCP servername and filename fields as extra
# option space. That's to avoid confusing some old or broken DHCP clients.
dhcp-no-override
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
#note: filename should be without the .0 extension, the pxe-service will always add the extension
pxe-service=tag:!ipxe,X86PC,"Boot from Network for x86 legacy BIOS",undionly.kpxe
pxe-service=tag:!ipxe,BC_EFI,"Boot from Network for x86-64 UEFI",ipxe.efi
# the second DHCP request: serve default.ipxe over tftp
pxe-service=tag:ipxe,X86PC,"Supply ipxe script",default.ipxe
pxe-service=tag:ipxe,BC_EFI,"Supply ipxe script",default.ipxe
# This range(s) is for the public interface, where dnsmasq functions
# as a proxy DHCP server providing boot information but no IP leases.
# Any ip in the subnet will do, so you may just put your server NIC ip here.
dhcp-range=172.20.2.0,proxy
#Enable tftp
enable-tftp
tftp-root=/var/lib/tftpboot
Note that for the files that are loaded from tftp the .0 extension needs to be added.
The default.ipxe loads acronis from http.