[Dnsmasq-discuss] pxe-service line for UEFI system?

Michal Zatloukal myxal.mxl at gmail.com
Mon Jan 20 22:34:01 GMT 2020


On Mon, 20 Jan 2020 at 21:38, Geert Stappers <stappers at stappers.nl> wrote:
>
> On Sun, Jan 19, 2020 at 10:40:28PM +0100, Michal Zatloukal wrote:
> > On Sun, 19 Jan 2020 at 21:45, Geert Stappers wrote:
> > > On Sun, Jan 19, 2020 at 08:33:54PM +0100, P W wrote:
> > > > On Sun, Jan 19, 2020 at 07:30:44PM +0100, Michal Zatloukal wrote:
> > > > > On Wed, 8 Jan 2020 at 00:16, Michal Zatloukal wrote:
> > > > > >
> > > > > >  ....
> > > > > >
> > > > >
> > > >
> > > > Patches welcome
> > > >
> > >
> > > Longer version:
> > > * Seen the postings
> > > * Seen that something needs some extra configuration
> > > * What is expected from the dnsmasq project is not seen
> > >
> > > Please do make the extra mile
> > > and express how dnsmasq could be better.
> > >
> >
> > What is expected of dnsmasq - a DHCP offer with either a populated
> > menu, or a populated boot-filename option. As mentioned in the OP,
> > currently dnsmasq provides broken menu (no items present) and empty
> > boot-filename, unless another "phantom" boot option is also defined
> > (in which case it provides the populated menu).
> >
> > I looked over the dnsmasq docs again and noticed this bit in pxe-prompt:
> > } If --pxe-prompt is omitted the system will wait for user input if
> > } there are multiple items in the menu, but boot immediately if there
> > } is only one.
> > As I understand it, if pxe-prompt is defined in the config, the
> > services should be sent regardless of their count. So that's a bug,
> > unless...
> > I also looked at the changelog and found this in the 2.76 release:
> >
> > > Workaround problems with UEFI PXE clients. There exist
> > > in the wild PXE clients which have problems with PXE
> > > boot menus. To work around this, when there's a single
> > > --pxe-service which applies to client, then that target
> > > will be booted directly, rather then sending a
> > > single-item boot menu.
> >
> > It seems like these 2 parts of the code are interacting incorrectly.
> > 1) the pxe-service exit item is ignored, that's why the phantom option is needed
> > 2) if pxe-prompt is explicitly defined, what _is_ supposed to happen
> > for UEFI clients?
> > TBH, I don't see why this UEFI issue even requires a UEFI-specific
> > code workaround - shouldn't a config like this [1] avoid the problems,
> > no code workaround needed?
> >
> > MZ
> >
> > [1]
> > dhcp-match=set:efi-x86_64,option:client-arch,7
> > dhcp-match=set:efi-x86_64,option:client-arch,9
> > pxe-prompt=tag:!efi-x86_64,"dnsmasq PXE menu"
> > pxe-service=7,...
> > pxe-service=9,...
>
>
> Seen it.  I still don't understand the OP problem.
The OP was asking if their configuration of pxe-prompt/pxe-service
options was correct, as the UEFI client was neither booting nor
showing the menu from the provided DHCPOFFER. A packet capture
revealed the problem - missing PXE menu items in the provided
DHCPOFFER. (DHCP option 43, suboption 9).

> For some reason I do feel my wish to improve dnsmasq
> is getting in the way.  I'm gonna spend my energy elsewhere.
>
> Advise to Original Poster:  Make your problem reproducable.
I'm not sure I understand - are you saying your UEFI client gets a
DHCPOFFER with a valid PXE boot menu when you configure the following
[1]?
[1]
pxe-prompt="dnsmasq menu"
pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi
pxe-service=7, "Exit menu"

> The idea of it is getting a "shared problem". And from
> a shared problem to get to a shared solution.

A shared problem: Make UEFI PXE client display 2 boot options - one
for an existing boot image, and one to exit PXE (boot from disk,
etc.).

> Groeten
> Geert Stappers
> --
> Leven en laten leven
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

MZ



More information about the Dnsmasq-discuss mailing list