Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
On Wed, 22 Jan 2020 at 21:43, Geert Stappers wrote: >... > > FWIW > Over here is "PXE service" not used. I have no idea what I might be > missing. My reason for involvement in this thread is finding what use > case O.P. has for dnsmasq. Finding out if it can improve my use case, > finding out if it can improve dnsmasq (which also benefits me). > At this point its mostly curiosity - I am migrating from an older pxelinux, BIOS-only setup to iPXE for BIOS and UEFI, with possible expansion into direct-booting specific clients like a Raspberry Pi. I wanted to keep the option of booting into the old setup. Also, having read the documentation, it should be possible to use dnsmasq to provide PXE boot service independently of the DHCP server in the network, which would be particularly useful for making an appliance-like setup that is dropped into the network and provides tools like clonezilla, memtest, etc. I haven't tried that mode yet. > > > 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.). > > My approach is default boot from disk and netbooting for a (re)install. > > Back to "pxe service". It is a server-client-combo-issue. > Here on this mailinglist is dnsmasq the only common factor. > Dnsmasq is at server side. The explain the server-client-combo-issue > needs the client side extra care. So tell about client site. > That includes the risk of losing audience here due "I don't have such > clients". Increase audience numbers by "The seen behaviour can be > reproduced with this libre virtualisation platform". Oh, so you can't induce the issue/reproduce the preconditions. Now it's clear to me :) Sorry, I'm not keeping up with libre VM solutions, so I'm not sure which, if any, can do PXE UEFI boot. I'm using vmware (Fusion, HW version 14) to test this. Google finds this article [1], which suggests it is possible to do in KVM. VirtualBox which I have installed, does not support network boot in UEFI mode. If you have UEFI hardware and don't mind using it for this, I would suggest using the three-service config and seeing if that works correctly. I can send a packet capture if needed. I _think_ you should be able to replicate at least the PXE-menu part of the issue with just a config for dhclient [2] - haven't tested this, as §it requires the normal dhclient instance to be disabled. Cheers, MZ > Groeten > Geert Stappers > -- > Leven en laten leven > > ___ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss [1] https://eatpeppershothot.blogspot.com/2016/07/enable-pxe-netboot-in-kvm-guests-for.html [2] # dhclient.conf: send vendor-class-identifier "PXEClient:Arch:7:UNDI:003016"; option client-system-architecture code 93 = unsigned integer 16; send client-system-architecture 7; ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
On Mon, Jan 20, 2020 at 11:34:01PM +0100, Michal Zatloukal wrote: > On Mon, 20 Jan 2020 at 21:38, Geert Stappers 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: > > > > > > > > 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" FWIW Over here is "PXE service" not used. I have no idea what I might be missing. My reason for involvement in this thread is finding what use case O.P. has for dnsmasq. Finding out if it can improve my use case, finding out if it can improve dnsmasq (which also benefits me). > > 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.). My approach is default boot from disk and netbooting for a (re)install. Back to "pxe service". It is a server-client-combo-issue. Here on this mailinglist is dnsmasq the only common factor. Dnsmasq is at server side. The explain the server-client-combo-issue needs the client side extra care. So tell about client site. That includes the risk of losing audience here due "I don't have such clients". Increase audience numbers by "The seen behaviour can be reproduced with this libre virtualisation platform". Groeten Geert Stappers -- Leven en laten leven ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
On Mon, 20 Jan 2020 at 21:38, Geert Stappers 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@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss MZ ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
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. 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. The idea of it is getting a "shared problem". And from a shared problem to get to a shared solution. Groeten Geert Stappers -- Leven en laten leven signature.asc Description: PGP signature ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
Yeah - sorry, I'm not much help when it comes to C code. I was coming in with assumption my config was somehow incorrect. 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,... 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: > > > > > > > > In the meantime, I tried a simpler case [1] of UEFI PXE services > > > > config, which I confirmed to work. > > > > > > > > I intended to replace my config with this and work up towards the > > > > fancier tag-operated version, but made a wrong assumption and _added_ > > > > the trivial config to existing set of config files (adding .bak to the > > > > filename didn't stop the original from being loaded). Strangely, now > > > > option 43 contained all services for CSA 7 - both conditional, and > > > > unconditional ones, which were previosly missing. This actually > > > > happens even when the new config file is reduced to a single, > > > > unconditional pxe-service line. That's not how this should work, or is > > > > it? Is there a particular order to these pxe-* config options? IMHO > > > > the fact that only the menu items are missing, but prompt is sent, > > > > should indicate that setting tags is correct. > > > > > > > > I'll do from-the-ground-up experiment soon, hopefully finding at which > > > > point dnsmasq stops sending the boot options. > > > > > > > > Cheers, > > > > MZ > > > > > > > > [1] > > > > # Commented out to use my existing config, must be included if using > > > > standalone. > > > > #dhcp-range=10.0.0.10,10.0.0.240,2h > > > > #log-dhcp > > > > #tftp-root=/tftpboot > > > > #dhcp-no-override > > > > pxe-prompt="dnsmasq menu" > > > > pxe-service=0, "Boot BIOS PXElinux", bios/pxelinux > > > > pxe-service=0, "Boot BIOS iPXE", ipxe/undionly.kpxe > > > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > > > pxe-service=7, "Other item CSA 7",etc/other.efi > > > > pxe-service=9, "Boot UEFI CSA 9", efi64/syslinux.efi > > > > pxe-service=9, "Other item CSA 9",etc/other.efi > > > > pxe-service=0, "Exit menu" > > > > pxe-service=7, "Exit menu" > > > > pxe-service=9, "Exit menu" > > > > > > > > > Finally got to troubleshoot this today... > > > The issue arises when there's only a single "proper" pxe-service > > > configured (one that actually has a boot-filename defined). Is this > > > expected? > > > > > > So this works: > > > pxe-prompt="dnsmasq menu" > > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > > pxe-service=7, "Other item CSA 7",etc/other.efi > > > pxe-service=7, "Exit menu" > > > > > > But this does not: > > > pxe-prompt="dnsmasq menu" > > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > > pxe-service=7, "Exit menu" > > > > > > > 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. > > > Groeten > Geert Stappers > -- > Leven en laten leven > > ___ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss ___
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
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: > > > > > > In the meantime, I tried a simpler case [1] of UEFI PXE services > > > config, which I confirmed to work. > > > > > > I intended to replace my config with this and work up towards the > > > fancier tag-operated version, but made a wrong assumption and _added_ > > > the trivial config to existing set of config files (adding .bak to the > > > filename didn't stop the original from being loaded). Strangely, now > > > option 43 contained all services for CSA 7 - both conditional, and > > > unconditional ones, which were previosly missing. This actually > > > happens even when the new config file is reduced to a single, > > > unconditional pxe-service line. That's not how this should work, or is > > > it? Is there a particular order to these pxe-* config options? IMHO > > > the fact that only the menu items are missing, but prompt is sent, > > > should indicate that setting tags is correct. > > > > > > I'll do from-the-ground-up experiment soon, hopefully finding at which > > > point dnsmasq stops sending the boot options. > > > > > > Cheers, > > > MZ > > > > > > [1] > > > # Commented out to use my existing config, must be included if using > > > standalone. > > > #dhcp-range=10.0.0.10,10.0.0.240,2h > > > #log-dhcp > > > #tftp-root=/tftpboot > > > #dhcp-no-override > > > pxe-prompt="dnsmasq menu" > > > pxe-service=0, "Boot BIOS PXElinux", bios/pxelinux > > > pxe-service=0, "Boot BIOS iPXE", ipxe/undionly.kpxe > > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > > pxe-service=7, "Other item CSA 7",etc/other.efi > > > pxe-service=9, "Boot UEFI CSA 9", efi64/syslinux.efi > > > pxe-service=9, "Other item CSA 9",etc/other.efi > > > pxe-service=0, "Exit menu" > > > pxe-service=7, "Exit menu" > > > pxe-service=9, "Exit menu" > > > > > > Finally got to troubleshoot this today... > > The issue arises when there's only a single "proper" pxe-service > > configured (one that actually has a boot-filename defined). Is this > > expected? > > > > So this works: > > pxe-prompt="dnsmasq menu" > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > pxe-service=7, "Other item CSA 7",etc/other.efi > > pxe-service=7, "Exit menu" > > > > But this does not: > > pxe-prompt="dnsmasq menu" > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > pxe-service=7, "Exit menu" > > > > 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. Groeten Geert Stappers -- Leven en laten leven ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
On Sun, Jan 19, 2020 at 07:30:44PM +0100, Michal Zatloukal wrote: > On Wed, 8 Jan 2020 at 00:16, Michal Zatloukal wrote: > > > > In the meantime, I tried a simpler case [1] of UEFI PXE services > > config, which I confirmed to work. > > > > I intended to replace my config with this and work up towards the > > fancier tag-operated version, but made a wrong assumption and _added_ > > the trivial config to existing set of config files (adding .bak to the > > filename didn't stop the original from being loaded). Strangely, now > > option 43 contained all services for CSA 7 - both conditional, and > > unconditional ones, which were previosly missing. This actually > > happens even when the new config file is reduced to a single, > > unconditional pxe-service line. That's not how this should work, or is > > it? Is there a particular order to these pxe-* config options? IMHO > > the fact that only the menu items are missing, but prompt is sent, > > should indicate that setting tags is correct. > > > > I'll do from-the-ground-up experiment soon, hopefully finding at which > > point dnsmasq stops sending the boot options. > > > > Cheers, > > MZ > > > > [1] > > # Commented out to use my existing config, must be included if using > > standalone. > > #dhcp-range=10.0.0.10,10.0.0.240,2h > > #log-dhcp > > #tftp-root=/tftpboot > > #dhcp-no-override > > pxe-prompt="dnsmasq menu" > > pxe-service=0, "Boot BIOS PXElinux", bios/pxelinux > > pxe-service=0, "Boot BIOS iPXE", ipxe/undionly.kpxe > > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > > pxe-service=7, "Other item CSA 7",etc/other.efi > > pxe-service=9, "Boot UEFI CSA 9", efi64/syslinux.efi > > pxe-service=9, "Other item CSA 9",etc/other.efi > > pxe-service=0, "Exit menu" > > pxe-service=7, "Exit menu" > > pxe-service=9, "Exit menu" > > > Finally got to troubleshoot this today... > The issue arises when there's only a single "proper" pxe-service > configured (one that actually has a boot-filename defined). Is this > expected? > > So this works: > pxe-prompt="dnsmasq menu" > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > pxe-service=7, "Other item CSA 7",etc/other.efi > pxe-service=7, "Exit menu" > > But this does not: > pxe-prompt="dnsmasq menu" > pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi > pxe-service=7, "Exit menu" > Patches welcome ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] pxe-service line for UEFI system?
In the meantime, I tried a simpler case [1] of UEFI PXE services config, which I confirmed to work. I intended to replace my config with this and work up towards the fancier tag-operated version, but made a wrong assumption and _added_ the trivial config to existing set of config files (adding .bak to the filename didn't stop the original from being loaded). Strangely, now option 43 contained all services for CSA 7 - both conditional, and unconditional ones, which were previosly missing. This actually happens even when the new config file is reduced to a single, unconditional pxe-service line. That's not how this should work, or is it? Is there a particular order to these pxe-* config options? IMHO the fact that only the menu items are missing, but prompt is sent, should indicate that setting tags is correct. I'll do from-the-ground-up experiment soon, hopefully finding at which point dnsmasq stops sending the boot options. Cheers, MZ [1] # Commented out to use my existing config, must be included if using standalone. #dhcp-range=10.0.0.10,10.0.0.240,2h #log-dhcp #tftp-root=/tftpboot #dhcp-no-override pxe-prompt="dnsmasq menu" pxe-service=0, "Boot BIOS PXElinux", bios/pxelinux pxe-service=0, "Boot BIOS iPXE", ipxe/undionly.kpxe pxe-service=7, "Boot UEFI CSA 7", efi64/syslinux.efi pxe-service=7, "Other item CSA 7",etc/other.efi pxe-service=9, "Boot UEFI CSA 9", efi64/syslinux.efi pxe-service=9, "Other item CSA 9",etc/other.efi pxe-service=0, "Exit menu" pxe-service=7, "Exit menu" pxe-service=9, "Exit menu" ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
[Dnsmasq-discuss] pxe-service line for UEFI system?
Hi. I'm putting together a "booting section" fo my config, where I want to provide various boot images, according to the machine architecture provided by the client. As I understand the pxe-service functionality, there are 2 ways to to netboot: - either provide bootfile-name (67), which the client downloads immediately and executes, or - provide pxe menu, (prompt, items), within option 43, client makes a selection, DHCP provides filename for the selected item, and from there it's the same as the above. The config (attached below [1]) works fine for PC-BIOS, but I just can't get dnsmasq to provide any PXE menu items to X86-64_EFI clients. Tried the CSA keyword (X86-64_EFI), integer (7), removed the skipmenu tag filter, commented out all pxe options specific to other architectures, nada. For the UEFI client (using vmware VM), the provided option 43 only contains the prompt suboption, and end character (the VM doesn't display anything and just goes back to boot menu, but that's down to their PXE ROM, I assume). Double-checked CSA provided by the client, it is indeed 7 (+ PXEClient:Arch:7:UNDI:003016 in VendorClass). What am I missing? The dnsmasq instance is a full DHCP server, not just proxy. I can private-message the full config if you need it. I'm on ubuntu-provided version 2.80-1ubuntu2. Cheers, MZ [1] # set custom tag for matching architectures - used for option that don't have implicit filtering dhcp-match=set:efi-arm64,option:client-arch,11 dhcp-match=set:efi-arm32,option:client-arch,10 dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-match=set:efi-x86_64,option:client-arch,9 dhcp-match=set:efi-x86,option:client-arch,6 dhcp-match=set:bios,option:client-arch,0 # iPXE will make a 2nd DHCP request with custom user class - this is where we provide path for script to run dhcp-userclass=set:ipxe,iPXE ## Script for iPXE dhcp-boot=tag:ipxe,"http://${dhcp-server}/shared/scripts/main.ipxe; # Don't offer menu to ipxe- or directboot-tagged requests #tag-if=set:directboot,tag:vmware tag-if=set:skipmenu,tag:ipxe tag-if=set:skipmenu,tag:directboot # Directboot mappings dhcp-boot=tag:bios,tag:skipmenu,tag:!ipxe,ipxe/undionly.kpxe dhcp-boot=tag:efi-x86_64,tag:skipmenu,tag:!ipxe,ipxe/ipxe.efi # ...or go through a menu pxe-prompt=tag:!skipmenu,"Where do you want to go today?" # Common menu pxe-service=tag:!skipmenu,x86PC,"Boot from local disk" pxe-service=tag:!skipmenu,X86-64_EFI,"Boot from local disk" # BIOS menu pxe-service=tag:!skipmenu,x86PC,"Raspberry Pi - pxelinux",bios/pxelinux.0 pxe-service=tag:!skipmenu,x86PC,"Raspberry Pi - ipxe - kpxe",ipxe/undionly.kpxe pxe-service=tag:!skipmenu,x86PC,"Raspberry Pi - ipxe - kkpxe",ipxe/undionly.kkpxe # UEFI menu pxe-service=tag:!skipmenu,X86-64_EFI,"Raspberry Pi - ipxe - UEFI",ipxe/ipxe.efi ## Add custom DHCP option for iPXE - extra options for clonezilla cmdline dhcp-option-force=tag:nd1,tag:ipxe,129,"live-netdev=eth1" dhcp-option-force=tag:nd0,tag:ipxe,129,"live-netdev=eth0" ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss