Has something changed with UEFI?
-
@svalding Well, the dnsmasq available in your FOG Server’s repos is likely older, and doesn’t even support UEFI in ProxyDHCP mode at all, so I’m not sure how this was working with strictly UEFI machines previously (support simply was not there).
There is a new version of dnsmasq released that supports UEFI in ProxyDHCP mode. Here’s a thread about it, with links to binaries and such. There may be newer available as well, but you’ll have to hunt them down on ‘thekellys’ website.
https://forums.fogproject.org/topic/7424/dnsmasq-to-support-proxydhcp-for-uefi -
That has done nothing. It is still pointing at this rEFInd thing, and I can’t figure out where. Are there any snippets of files I can post that could provide insight?
-
I found it here! Still not making heads or tails of it yet.
/var/www/fog/service/ipxe
-
@svalding rEFInd is an exit type, that’s defined per-host in host management, or via groups. It has nothing to do with dnsmasq.
-
@Wayne-Workman Remember, it is also globally defined as well. In the case a host has not been registered, or the exit type has not been defined, there’s a fallback. My guess is under FOG Configuration->iPXE Boot Menu, the Exit to Hard Drive Type(EFI) is selected for rEFInd?
-
Well that sheds a lot of light on things, thank you very much!
-
So I did a whole lot of testing today. It seems to be specific to this Dell 7440 AIO and UEFI network booting.
I have several Dell 9030 AIO and Microsoft Surface machines booting pxe via UEFI just fine. However, this one just won’t work.
It starts trying to boot, and then flashes Downloading NBP file very quickly across the screen, and then goes to a F1 to retry boot menu. Updated to the latest BIOS available, if that helps. Perhaps an older version would be better in this case? I dunno. FoG and UEFI are definitely functioning properly though, as I have other UEFI devices that are fine.
-
@svalding The problem specifically, I think is the boot file you’re using. What file do you have set for this machine? Keep in mind different files for different architectures via dnsmasq.
After knowing what file you’ve always used for UEFI, we can then back track, trying different versions of that file, until we find a version that is working. After that, we can begin to move forward to find the version where it breaks, and figure out what changed. Do you understand?
-
I’ve got BOOTP settings as follows:
Boot File: undionly.kpxe
Next Server: Fog server IP address
Boot Server: Fog server IP addressLegacy clients are using the undionly.kpxe, while UEFI devices are using ipxe.pxe (I believe, this could be flip flopped, going from memory at the moment)
-
@svalding UEFI should not be using ipxe.pxe, it should be using ipxe.efi.
-
I lied, I am looking at my dnsmasq config now. It’s snponly.efi
-
@svalding You need to ensure you have the latest version of dnsmasq since earlier versions do not support efi very well (at all). Even if their configs say they do. You need the release that was created since (about) may 2016
-
I have updated to the latest version that was linked here earlier.
-
@svalding said in Has something changed with UEFI?:
I have updated to the latest version that was linked here earlier.
OK, just wanted to make sure you weren’t using your linux distro’s version which may be a few releases behind. Version 2.76 or newer is where you want to be.snponly.efi should work or you can use ipxe.efi (contains all known drivers) if you have issue with snponly.efi.
-
I’m going to switch the config to ipxe.efi and see what happens.
-
I want to put this out there that I got that information from a file called ltsp.conf in /etc/dnsmasq.d.
There is an /etc/dnsmasq.conf file, but it is completely commented out like it is not being used for anything.
-
@svalding Not sure I understand, but the dnsmasq.conf is the old style/way to setup dnsmasq. The newer way is for each dnsmasq service to place its config file in /etc/dnsmasq.d directory. When the dnsmasq process starts it reads through the dnsmasq.conf file (which is commented out) and then it processes the config files in the dnsmasq.d directory. Think of the dnsmasq.conf file is for global dnsmasq settings (for all dnsmasq services) and the individual files for service specific settings. Understand the dnsmasq can do a lot more than just proxyDHCP.
-
So after looking over this thread, I have to ask the question, why are you using dnsmasq? What dhcp server do you have? Is it restricted so you can’t make changes?
-
That makes perfect sense, so this is setup how it should be. dnsmasq starts, reads the commented file, and then moves on to ltsp.conf, where we have defined all of our settings.
I just tried with snponly.efi, and ipxe.efi and neither of them are loading up.
Here is a screen grab from a video I took of the process.
And here is the screen it immediately jumps to.
-
Also, I want to point out some stuff with dnsmasq that has tripped me up before.
Firstly, it uses WHAT-EVER it finds inside
/etc/dnsmasq.d
Doesn’t matter what it’s named. ltsp.conf, ltsp.conf.old, MyXmasWishList.txt - it does not care. If you have backup configurations in there, move them somewhere else.
Maybe that issue is resolved in the newer version, I don’t know.
Second - when dnsmasq sends out it’s ProxyDHCP - it appends
.0
to thefilename
it gives. You could do some complex stuff with symbolic links, but I prefer not to. I prefer to copy the file I want to use. In your case, let’s go with ipxe.efi. You’d copy that like so:cp /tftpboot/ipxe.efi /tftpboot/ipxe.efi.0