Re: [Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents
I don't think that doing bug work-around behavior automagically is a good idea. If it is required to do non-standard stuff, that should be explicit. The difference between Michael's patch and Jarek's seems to be that Michael's works automatically when there is precisely one valid boot service line, but Jarek's needs explicit configuration. What situation does Jarek's approach cover, that Michael's doesn't? Second question: Michael's path sets the boot filename to .efi rather than .0 when the CSA is "IA32_EFI", "BC_EFI", "Xscale_EFI", or "x86-64_EFI" but Jarek's doesn't. Should that be added to Jarek's patch? Sorry if these seem like stupid questions. I'm working blind here, without a test system to experiment with. Cheers, Simon. On 08/05/16 17:32, Dreamcat4 wrote: > On Sun, May 8, 2016 at 3:41 PM,wrote: > >> how about going the other way... reverse the logic so that those two are >> skipped all the time... then only if they are needed, add an option to >> enable them... >> >> pxe-add-menu=X86-64_EFI >> pxe-add-menu=BC_EFI >> > > Yeah that is not an unwelcome suggestion. Actually I was originally going > to say that same thing myself. Unfortunately, looking more closely a > similar type of problems comes up with doing it like that (either way > around). > > AFAIKT... > > people should only need to care / override this option if the client is > mis-behaving (client cannot show menu / hangs on menu / is buggy). So doing > a positive logic (pxe-add-menu=) is also not elegant. In fact, then there > may be even more default cases to specify and set. (a majority of working > clients). > > Well if we must hard-code some behaviour, then for the fewest exception > cases is better, no? Well that seems to be for skip (not add). Because > people come here scratching out heads why pxe menu does not work for UEFI > clients. That is why skip-menu direction was chosen by Jarek. Perhaps > others can comment. > > > Anyhow regardless whether the direction is add or skip... that is apart > from my previous question. Which is: > > Is it not best? (and simplest!) to modify Jarek's patch in this following > ways: > > pxe-skip-menu=",,etc" > > With a quiet *default* setting of: > > pxe-skip-menu="X86-64_EFI,BC_EFI" > > + document it. > > > That user can clear with: > > pxe-skip-menu="" > > If they ever need. > > > > Instead of: > > pxe-skip-menu=CSA1 > pxe-skip-menu=CSA2 > > Or: > > pxe-add-menu=PC-DOS > > Many thanks. > > > > Kind Regards > Dreamcat4 > > > > ___ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss > ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents
On Sun, May 8, 2016 at 3:41 PM,wrote: > how about going the other way... reverse the logic so that those two are > skipped all the time... then only if they are needed, add an option to > enable them... > > pxe-add-menu=X86-64_EFI > pxe-add-menu=BC_EFI > Yeah that is not an unwelcome suggestion. Actually I was originally going to say that same thing myself. Unfortunately, looking more closely a similar type of problems comes up with doing it like that (either way around). AFAIKT... people should only need to care / override this option if the client is mis-behaving (client cannot show menu / hangs on menu / is buggy). So doing a positive logic (pxe-add-menu=) is also not elegant. In fact, then there may be even more default cases to specify and set. (a majority of working clients). Well if we must hard-code some behaviour, then for the fewest exception cases is better, no? Well that seems to be for skip (not add). Because people come here scratching out heads why pxe menu does not work for UEFI clients. That is why skip-menu direction was chosen by Jarek. Perhaps others can comment. Anyhow regardless whether the direction is add or skip... that is apart from my previous question. Which is: Is it not best? (and simplest!) to modify Jarek's patch in this following ways: pxe-skip-menu=",,etc" With a quiet *default* setting of: pxe-skip-menu="X86-64_EFI,BC_EFI" + document it. That user can clear with: pxe-skip-menu="" If they ever need. Instead of: pxe-skip-menu=CSA1 pxe-skip-menu=CSA2 Or: pxe-add-menu=PC-DOS Many thanks. Kind Regards Dreamcat4 ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents
On 05/08/2016 06:52 AM, Dreamcat4 wrote: But it is bad for each UEFI pc users going forwards to know to need to manually specify: pxe-skip-menu=X86-64_EFI pxe-skip-menu=BC_EFI Every time around. Because that is nearly everybody going forwards. How to solve? Can we then make the option logic work better? how about going the other way... reverse the logic so that those two are skipped all the time... then only if they are needed, add an option to enable them... pxe-add-menu=X86-64_EFI pxe-add-menu=BC_EFI in this manner, ONLY those that need to support the above UEFI mess need add the option(s)... everyone else sails on clean clear waters none the wiser ;) if other UEFIs are found needing to be skipped, they can be added to the next binary with new options like the above... -- NOTE: No off-list assistance is given without prior approval. *Please keep mailing list traffic on the list* unless private contact is specifically requested and granted. ___ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
Re: [Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents
On Sat, May 7, 2016 at 9:49 PM, Simon Kelleywrote: > On 06/05/16 12:58, Jaroslaw Polok wrote: > > Hi > > > > On 06/05/16 12:40, Dreamcat4 wrote: > > > >> > >> Perhaps later down the line (once more people get onboard and can start > >> using it), then this pxe UEFI mode can be improved even further. Either > >> buy some fresh eyes coming along to fix problems in ipxe.efi, or else > >> here in the dnsmasq behaviour. Or both. But we need to make it easier > >> for those guys to run it at least, so can see ahead to the next problem. > > > > In case you would be interested: > > > > > http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2016q1/010383.html > > > > That is my version of the patch, using a configuration option > > to allow more fine-grained control on how systems boot > > (by optionally matching by tag and/or architecture). > > > > We are using that patch in production since two months > > successfully booting all PXE/UEFI systems (x64 and aarch64) > > we have used so far (about 10 different x64 and 3 different > > aarch64 systems, plus qemu-kvm with Tianocore firmware) > > > > Dear Simon: would it be possible to review and include one > > of this patches in dnsmasq please ? > > > > > Yes, That's the last thing on my list to do before I start to release > 2.76. You and Dreamcat are going to have to help me though, since I > don't have a usable test environment for this stuff, and my PXE > knowledge is buried under several years of other stuff. > No problem, happy to help. My main question is, is there a way to make this work without needing > the --pxe-skip-menu option. I appreciate that this engages a workaround > for buggy UEFI netboot implementations, but what's wrong with doing that > automatically when there's only one possible boot? Yeah I was thinking that too. But then I looked more carefully at Jarek's patch this morning. And it gets me to understanding why he made the option that way around. It is a lot to do with how-to-set-options in dnsmasq (the options conventions of your program). > Are we loosing > functionality (maybe with a hypothetical fully working BIOS) by doing that? > OK lets start with what we know: pxe-skip-menu=X86-64_EFI pxe-skip-menu=BC_EFI is the best thing to cover all of the regular PC users. Which is nearly everybody. That is great. Now lets imagine we take away the option. So there is no exposed option whatsoever. New Drawback: we cannot accomodate the situation where there are different behaving clients identifying under a single CSA type. Which seems to be the case (already known) for BC_EFI. http://serverfault.com/questions/349693/pxe-architecture-bc-efi What that link says ^^ is that BC_EFI is a non-descript (generic) client. Which may be odd ones, like an old PowerPC mac or IBM PowerPC server. Or equally it could be some early x86 UEFI client. That is a potential to need to be flipped on/off a case-by-case basis. Depending upon the specific set of client hardware models which exist at that site. It may be true or false for lesser CSA types too. (depending the model of hardware). 2nd example I can think of now is ARM64 uefi. Because IPXE project just added support for ARM64 efi booting. For devices like rPi / similar - very popular now. Don't see it listed as a CSA named type. Maybe its going to identify as some new (higher) CSA number. Else re-use again that generic catchall BC_EFI (yet again). That is why I think having some kind of a user setting might be worth it. For best comptibility to all users. We cannot be expected to know / test all possible hardware. And there are many types of speciality devices / quirky hardware. But it is bad for each UEFI pc users going forwards to know to need to manually specify: pxe-skip-menu=X86-64_EFI pxe-skip-menu=BC_EFI Every time around. Because that is nearly everybody going forwards. How to solve? Can we then make the option logic work better? === What about this idea: Solution Part a) Modify existing patch, make it a single string list of all CSAs for doing pxe-skip-menu. * Default value: pxe-skip-menu="X86-64_EFI, BC_EFI". * So if user says nothing, it 'just works'. If its wrong, simple for other guys to come along later, tell us to update the setting ^^. Like to add another one etc. * User can overide it however they wish. To cover any quirky hardware they might have (including to omit the troublesom BC_EFI on a per-user basis): pxe-skip-menu="," Solution Part b) Add in to the man page a clear paragraph, saying what is the SYMPTOM (of a UEFI hanging boot). Which is exactly why / when the user should be setting this option to override the mask list of CSAs. > Cheers, > > Simon. > > > > ___ > Dnsmasq-discuss mailing list > Dnsmasq-discuss@lists.thekelleys.org.uk > http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss > ___ Dnsmasq-discuss mailing