Dell Inspiron 15 7559
-
Howdy yall. Tried my best to get to the end of the light on my own but I could use a little help. Here’s the gist of my setup:
- Fog 1.4 rc6 running on Ubuntu 16.04 running in an esxi box
- All in the same vlan
- Couldn’t make changes to our network so went with DNSMasq
- Hybrid BIOS and UEFI environment
- I can boot and image a BIOS system no problem. It’s UEFI/EFI systems that don’t want to work
- Checking the syslog, I see whatever boot file I set to the different architectures properly changing as I change them in the ltsp.conf trying different ones to check if I’m just not using the right .efi .
- One thing I also noticed is after I installed dnsmasq, my DNS doesn’t work. Followed some of the steps in the threads around here like omitting the dnsmasq line in networkman, but still no go.
- I’ve also got BIOS booting working on Parallels VMs, but same thing breaks when I switch to EFI booting. What is weird is in a previous attempt to get this working I managed to get TO the FOG bootup screen in EFI, it just wouldn’t continue from there to the registration/imaging phase.
Thank you ahead of time for any help or ideas you shoot my way. Any information you request I’ll be more than happy to find and paste on here.
-
@Merilious said in Dell Inspiron 15 7559:
I can boot and image a BIOS system no problem. It’s UEFI/EFI systems that don’t want to work
what version of dnsmasq are you running? You must be on 2.76 or newer to get the dynamic support. Yes I know the docs for the older says it should work, but it doen’t. 2.76 fixes that issue.
From the linux console prompt of your fog server key in
dnsmasq -v
to get the running version. I have a tutorial on how to compile your own install of dnsmasq if you need it. -
@Merilious said in Dell Inspiron 15 7559:
One thing I also noticed is after I installed dnsmasq, my DNS doesn’t work
dnsmasq is taking over your dns for you, you need to disable it in your ltsp.conf file.
-
********:~$ dnsmasq -v
Dnsmasq version 2.76 Copyright 2000-2016 Simon Kelley
Compile time options: IPv6 GNU-getopt DBus no-i18n IDN DHCP DHCPv6 no-Lua TFTP conntrack ipset auth DNSSEC loop-detect inotifyThis software comes with ABSOLUTELY NO WARRANTY.
Dnsmasq is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License, version 2 or 3.I did the compile tutorial found around the FOG wiki.
-
@Merilious That is the version you need. Now post your ltsp.conf file and we can take a look at that.
-
Here’s what I’m currently trying out for my ltsp.conf.
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 dhcp-match=set:ParallelsEFI,97,00:ef:e3:6d:16:10:6f:46:9d:87:12:5a:12:c2 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,10.200.10.20 dhcp-boot=net:UEFI,ipxe.efi,,10.200.10.20 dhcp-boot=net:UEFI64,ipxe.efi,,10.200.10.20 dhcp-boot=tag:UEFI,tag:ParallelsEFI,intel.efi,10.200.10.20,10.200.10.20 # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,10.200.10.20 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG!", 10 dhcp-range=10.200.10.20,proxy
-
@Merilious That one looks good. There is the next step if that one doesn’t boot correctly. The dnsmaq configuration is built in layers, you start basic and then build up until it works in your environment. Right now you are on step 2 of 3.
-
@george1421 So with 2.76 is your pxe booting for uefi working as you need it?
Don’t follow this just yet, posting it cause I’m doing 4 things right now and don’t want to loose the link.
ref: https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue -
UEFI is not working. Only BIOS booting works as intended. When I look in the syslog it shows that there is communication, the client just doesn’t push to the FOG bootup.
-
@Merilious is the uefi iPXE kernel making it to the target computer (i.e. are you seeing the iPXE banner)?
If you are unsure where to turn next, then follow and do what the tutorial says in the previous post. What we need to do is capture the pxe bootup of one of these uefi systems. This works really well if the fog server and the pxe booting client is on the same subnet. Post the pcap here for review.
I can boot and image a BIOS system no problem. It’s UEFI/EFI systems that don’t want to work
for clarity a clear picture taken with a mobile phone helps understand what don’t work means. If we can see the error we may understand what’s wrong. The context of the error is almost as important as the error itself.
-
-
That 2nd snip took a little ingenuity to capture lol. Had to use the slow-mo video feature on the galaxy s7. Thanks for the help thus far. I feel like I’m on the right track, just need to fix a few nub errors I may have configured or not configured yet maybe.
-
@Merilious ok that tells me a bit more about the booting process. Everything looks good until it talks to the ProxyDHCP server (dnsmasq). So we need to move to step 3 for dnsmasq config.
after this section in your ltsp.conf
# PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG!", 10
Actually take the prompt timeout from 10 to 1. Its not needed since you can’t pick anything different in this configuration.
add in
pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
I guessed at the context since I can’t find it quickly. I have the answer on my dev server at home, but well that’s at home and I’m not.
If that doesn’t work then move to step 4
pxe-service=X86PC, "Boot to FOG", undionly.kpxe,10.200.10.20 pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi,10.200.10.20 pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi,10.200.10.20
We don’t want to jump right to 4 because it may create other issues. So one step at a time. This should tell proxy dhcp to send the right file name per the client request.
-
Right after this it booted right to the FOG menu! Did a quick registration and verified FOG picked it up in the web portal. So awesome! If you don’t mind me asking, why did this work?
-
@Merilious Some environments require the pxe-service code and some do not. I don’t have a solid answer for you, but we start and step 1 and move to step 4 testing at each step. Your pcap file was flowing perfectly until it got to the proxydhcp dialog. dnsmasq didn’t supply what your PXE rom needed so it abort the pxe boot. This is all different pxe rom requirements. Once you are in iPXE then fog has a better chance of controlling the pxe booting process.
Ah ok, I just reread what iPXE posted, duplicate option 66… your dhcp server gave it one IP address for the boot server and dhcp proxy gave it another so it talked to the proxy to find out what to do. I need to look at your pcap file again a bit closer to see where your main dhcp server was sending the client. Do you have another imaging system in your environment?
-
I have my Parallel VM’s. Just tested the EFI boot on it and it worked great. Exact same message about the duplicate DHCP. Unfortunately I’m out for the weekend as of this post so if you don’t hear anything from me until Monday… I REALLY appreciate the help. Any further information you need just ask and I’ll post first chance I get. When I saw the duplicate info notice I asked our network guy if the Next-Server entry happened to still linger but it was not.
-
@Merilious Great to see that you guys figured this out already. Well done George! Thanks for posting the PCAP and pictures as well. Looks like our iPXE script (see here) is not behaving the way we intended it to. I am not sure if this a general issue or just caused by the UEFI firmware you have.
Should be save to ignore in your case as far as I can see in the PCAP file there is no next-server/option 66 sent by your main DHCP server.
-
@Sebastian-Roth said in Dell Inspiron 15 7559:
Looks like our iPXE script (see here) is not behaving the way we intended it to.
Well that may explain why I didn’t see the main dhcp server responding with next server. I was going to have the OP post his ltsp.conf again on monday to see if we had something in the wrong spot and/or capture another pcap file. We might want to do that just to be clear that dnsmasq isn’t doing something unexpected.
-
Alright I’m back (a day late). We’re trying to move fast with this so I’ve gone ahead and began building the FOG server on our production side. Again though, I’m stuck on breaking DNS once DNSMasq is installed. I don’t remember how I got around this before to do the DNSMasq build/upgrade to 2.76 unfortunately…
You had mentioned disabling dnsmasq from taking over DNS through ltsp.conf. Here is my current running ltsp.conf:
Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 dhcp-match=set:ParallelsEFI,97,00:ef:e3:6d:16:10:6f:46:9d:87:12:5a:12:c2 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,10.100.10.22 dhcp-boot=net:UEFI,ipxe.efi,,10.100.10.22 dhcp-boot=net:UEFI64,ipxe.efi,,10.100.10.22 dhcp-boot=tag:UEFI,tag:ParallelsEFI,intel.efi,10.100.10.22,10.100.10.22 # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,10.100.10.22 # PXE menu. The first part is the text displayed to the user. The second is t$ pxe-prompt="Booting FOG!",1 pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=10.100.10.22,proxy
Here is my NetworkManager.conf where I removed the “DNS=DNSMASQ” line:
[main] plugins=ifupdown,keyfile,ofono [ifupdown] managed=false
I noticed that I get a new connection named en32 when I install DNSMasq (or somewhere along the lines of installing FOG and DNSMasq). I went in that connections settings and saw 127.0.0.1 as the DNS entries so I updated them to our proper DNS entries, reset networkmanager and dnsmasq services, but still could not ping google but 8.8.8.8 pinged fine. Any ideas?
-
@Merilious if your DNS is behind a domain you may need to add the domain name to search from. Just a theory no real clue though.