Re: [Dnsmasq-discuss] ProxyDHCP mode is broken for serving ipxe.efi to UEFI pxe clents

2016-05-08 Thread Simon Kelley
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

2016-05-08 Thread Dreamcat4
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

2016-05-08 Thread wkitty42

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

2016-05-08 Thread Dreamcat4
On Sat, May 7, 2016 at 9:49 PM, Simon Kelley 
wrote:

> 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