Discussion:
[Dnsmasq-discuss] pxe booting trouble
Michael Thompson
2013-12-27 19:54:14 UTC
Permalink
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.

Pxe booting via isc dhcp works with this bit of configuration:
next-server 172.18.100.19;
filename "BOOTX64.efi";

this, I believe, is the dnsmasq equivalent but yields an error message:
dhcp-boot=BOOTX64.efi,admin,172.18.100.19

should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”

Thanks for any pointers you can give.
Simon Kelley
2013-12-27 20:02:42 UTC
Permalink
Post by Michael Thompson
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.
next-server 172.18.100.19;
filename "BOOTX64.efi";
dhcp-boot=BOOTX64.efi,admin,172.18.100.19
should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”
Thanks for any pointers you can give.
Try adding

dhcp-no-override

to your dnsmasq config.


Cheers,

Simon.
Post by Michael Thompson
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Michael Thompson
2013-12-27 20:44:32 UTC
Permalink
again, no change. please find a log here http://pastebin.com/D99SQyqj

many thanks


On Fri, December 27, 2013 2:28 pm, Simon Kelley wrote:

That all looks quite sensible. Are the p5p2 and p7p2 interfaces
constituents of the bond? You might like to specify

no-dhcp-interface=p7p2,p5p2

if so. I've had difficulty in the past with bonded interfaces and PXE.

Can you send the logs? There mat be clues there.

Cheers,

Simon.
Post by Simon Kelley
Post by Michael Thompson
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.
next-server 172.18.100.19;
filename "BOOTX64.efi";
dhcp-boot=BOOTX64.efi,admin,172.18.100.19
should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”
Thanks for any pointers you can give.
Try adding
dhcp-no-override
to your dnsmasq config.
Cheers,
Simon.
Post by Michael Thompson
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Simon Kelley
2013-12-27 20:55:38 UTC
Permalink
Are you sure that the config you sent previously is complete? The logs
would seem to indicate that full PXE mode (as opposed to DHCP netboot)
is enabled. That would need a pxe-service dnsmasq config line somewhere.

Cheers,

Simon.
Post by Michael Thompson
again, no change. please find a log here http://pastebin.com/D99SQyqj
many thanks
That all looks quite sensible. Are the p5p2 and p7p2 interfaces
constituents of the bond? You might like to specify
no-dhcp-interface=p7p2,p5p2
if so. I've had difficulty in the past with bonded interfaces and PXE.
Can you send the logs? There mat be clues there.
Cheers,
Simon.
Post by Simon Kelley
Post by Michael Thompson
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.
next-server 172.18.100.19;
filename "BOOTX64.efi";
dhcp-boot=BOOTX64.efi,admin,172.18.100.19
should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”
Thanks for any pointers you can give.
Try adding
dhcp-no-override
to your dnsmasq config.
Cheers,
Simon.
Post by Michael Thompson
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Michael Thompson
2013-12-27 21:13:41 UTC
Permalink
It was indeed complete, other than dns related lines. Is there way to
force the dhcp netboot method?

On Fri, December 27, 2013 2:55 pm, Simon Kelley wrote:
Are you sure that the config you sent previously is complete? The logs
would seem to indicate that full PXE mode (as opposed to DHCP netboot)
is enabled. That would need a pxe-service dnsmasq config line somewhere.

Cheers,

Simon.
Post by Michael Thompson
again, no change. please find a log here http://pastebin.com/D99SQyqj
many thanks
That all looks quite sensible. Are the p5p2 and p7p2 interfaces
constituents of the bond? You might like to specify
no-dhcp-interface=p7p2,p5p2
if so. I've had difficulty in the past with bonded interfaces and PXE.
Can you send the logs? There mat be clues there.
Cheers,
Simon.
Post by Simon Kelley
Post by Michael Thompson
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.
next-server 172.18.100.19;
filename "BOOTX64.efi";
dhcp-boot=BOOTX64.efi,admin,172.18.100.19
should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”
Thanks for any pointers you can give.
Try adding
dhcp-no-override
to your dnsmasq config.
Cheers,
Simon.
Post by Michael Thompson
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Simon Kelley
2013-12-27 21:41:28 UTC
Permalink
Post by Michael Thompson
It was indeed complete, other than dns related lines. Is there way to
force the dhcp netboot method?
In that case, colour me confused. Dnsmasq is sending, amongst other
stuff, option 97:client-machine-id. You've not explicitly configured it
to do that, and the only implicit way it can happen is when talking the
full PXE protocol. To talk the full PXE protocol, there must be a
pxe-service or pxe-prompt dnsmasq configuration somewhere.

PS. Decoding the logs a bit more, I think there is

pxe-prompt=PXE

somewhere in your config. (Command-line? included files?)



Cheers,

Simon.
Post by Michael Thompson
Are you sure that the config you sent previously is complete? The logs
would seem to indicate that full PXE mode (as opposed to DHCP netboot)
is enabled. That would need a pxe-service dnsmasq config line somewhere.
Cheers,
Simon.
Post by Michael Thompson
again, no change. please find a log here http://pastebin.com/D99SQyqj
many thanks
That all looks quite sensible. Are the p5p2 and p7p2 interfaces
constituents of the bond? You might like to specify
no-dhcp-interface=p7p2,p5p2
if so. I've had difficulty in the past with bonded interfaces and PXE.
Can you send the logs? There mat be clues there.
Cheers,
Simon.
Post by Simon Kelley
Post by Michael Thompson
I’m having trouble pxe booting clients with dnsmasq, specifically with the
dhcp part. If I use ISC dhcp, but keep dnsmasq for dns and tftp, it works
fine. I’d much rather have dnsmasq do it all but simply cannot get it to
work.
next-server 172.18.100.19;
filename "BOOTX64.efi";
dhcp-boot=BOOTX64.efi,admin,172.18.100.19
should that be enough to work? Might additional configurations be necessary?
The error is “PXE-E21 Remote boot cancelled. Boot Failed: Please ensure
compatible media is available”
Thanks for any pointers you can give.
Try adding
dhcp-no-override
to your dnsmasq config.
Cheers,
Simon.
Post by Michael Thompson
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
_______________________________________________
Dnsmasq-discuss mailing list
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Simon Kelley
2013-12-28 13:50:00 UTC
Permalink
Post by Simon Kelley
PS. Decoding the logs a bit more, I think there is
pxe-prompt=PXE
somewhere in your config. (Command-line? included files?)
OK, scratch that. The "PXE" string is the default prompt.

Most likely, as far as I can see, there must be at least one pxe-service
config line, for with a CSA which doesn't match the machine you're PXE
booting. (You're booting an EFI system, so maybe there's something starting

pxe-service=x86PC,........

which won't provide a bootable image to an EFI system.)


If there really isn't such a line, then there's a bug in the code which
I can't see from inspection.

A workaround, will be to use full PXE and provide a correct pxe-service
line, something like

pxe-server=X86-64_EFI,boot,BOOTX64.efi


But note that the PXE system will add ".0" to the filename, so the file
on the TFTP server should be renamed


BOOTX64.efi.0


Cheers,

Simon.
Michael Thompson
2013-12-30 14:37:35 UTC
Permalink
Brilliant, I've found success with replacing "dhcp-boot" with
"pxe-service=BC_EFI, "Install Linux", BOOTX64.efi" along with renaming
BOOTX64.efi to BOOTX64.efi.0

Thanks for your help and for dnsmasq!
Post by Simon Kelley
PS. Decoding the logs a bit more, I think there is
pxe-prompt=PXE
somewhere in your config. (Command-line? included files?)
OK, scratch that. The "PXE" string is the default prompt.

Most likely, as far as I can see, there must be at least one pxe-service
config line, for with a CSA which doesn't match the machine you're PXE
booting. (You're booting an EFI system, so maybe there's something
starting

pxe-service=x86PC,........

which won't provide a bootable image to an EFI system.)


If there really isn't such a line, then there's a bug in the code which
I can't see from inspection.

A workaround, will be to use full PXE and provide a correct pxe-service
line, something like

pxe-server=X86-64_EFI,boot,BOOTX64.efi


But note that the PXE system will add ".0" to the filename, so the file
on the TFTP server should be renamed


BOOTX64.efi.0


Cheers,

Simon.

Loading...