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.


  • Moderator

    @Merilious said in Dell Inspiron 15 7559:

    port=0

    It looks like @Quazz has a solution for this here: https://forums.fogproject.org/topic/7193/ubuntu-14-04-lts-with-dnsmasq-no-external-dns/8

    I did a little research on this and specifically the command “port=0” and its working as designed (??). From Quazz’s post it looks like you just need to adjust the dnsmasq startup scripts to not throw 127.0.0.1 into the resolv.conf file.


  • Senior Developer

    @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.



  • 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?


  • Moderator

    @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.


  • Developer

    @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.



  • @george1421

    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.


  • Moderator

    @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?



  • @george1421

    0_1492804610091_20170421_145140.jpg

    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?


  • Moderator

    @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.



  • @Merilious

    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.




  • Moderator

    @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.



  • @george1421

    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.


  • Moderator

    @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


  • Moderator

    @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

    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
    

  • Moderator

    @Merilious That is the version you need. Now post your ltsp.conf file and we can take a look at that.



  • @george1421

    ********:~$ 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 inotify

    This 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.


  • Moderator

    @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.



Looks like your connection to FOG Project was lost, please wait while we try to reconnect.