• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Dell Optiplex 3080 - UEFI - PXE Boot E-21: Remote boot cancelled.

    Scheduled Pinned Locked Moved
    FOG Problems
    dnsmasq uefi dell 3080
    3
    7
    5.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jarvizu
      last edited by

      Hello,

      I’ve recently set up a new FOG server in my environment running on CentOS 7

      I cannot PXE boot any Dell Optiplex 3080 with Secure Boot off and SATA operation set to ACHI. I get an IP address, begin to boot and get hit with PXE Boot E-21: Remote boot cancelled.

      The machines do not have any legacy bios.

      Fog Version: 1.5.9
      bzImage Version: 5.10.34
      bzImage32 Version: 5.10.34

      I’m using dnsmasq as I’m not able to modify my DHCP settings. Here is my config:

      #------------------------------------
      # 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
      # The boot filename, Server name, Server Ip Address
      dhcp-boot=undionly.kpxe,,192.x.x.x
      # 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
      # Set the boot file name based on the matching tag from the vendor class (above)
      dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,192.x.x.x
      dhcp-boot=net:UEFI,ipxe.efi,,192.x.x.x
      dhcp-boot=net:UEFI64,ipxe.efi,,192.x.x.x
      # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds.
      pxe-prompt="Booting FOG Client", 3
      # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
      # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
      # This option is first and will be the default if there is no input from the user.
      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=192.x.x.x,proxy
      
      #Subnet has no dhcp for last 55 addresses so dnsmasq is assigning those
      dhcp-range=192.x.x.200,192.x.xx.254,30m
      #---------------------------------
      

      Here are my fog settings:

      ## Start of FOG Settings
      ## Created by the FOG Installer
      ## Find more information about this file in the FOG Project wiki:
      ##     https://wiki.fogproject.org/wiki/index.php?title=.fogsettings
      ## Version: 1.5.9
      ## Install time: Tue 08 Jun 2021 04:01:47 PM EDT
      ipaddress='192.x.x.x'
      copybackold='0'
      interface='eno2'
      submask='255.255.255.0'
      hostname='<Hostname>'
      routeraddress=''
      plainrouter=''
      dnsaddress=''
      username='<redacted>'
      password='<redacted>'
      osid='1'
      osname='Redhat'
      dodhcp='N'
      bldhcp='0'
      dhcpd='dhcpd'
      blexports='1'
      installtype='N'
      snmysqluser='<redacted>'
      snmysqlpass='<redacted>'
      snmysqlhost='localhost'
      mysqldbname='fog'
      installlang='0'
      storageLocation='/images'
      fogupdateloaded=1
      docroot='/var/www/html/'
      webroot='/fog/'
      caCreated='yes'
      httpproto='http'
      startrange='192.x.x.10'
      endrange='192.x.x.254'
      bootfilename='undionly.kpxe'
      packages='bc curl gcc gcc-c++ genisoimage git gzip httpd lftp m4 make mariadb mariadb-server mod_ssl mtools net-tools nfs-utils php php-bcmath php-cli php-common php-fpm php-gd php-ldap php-mbstring php-mysqlnd php-process syslinux tar $
      noTftpBuild=''
      sslpath='/opt/fog/snapins/ssl/'
      backupPath='/home/'
      armsupport=''
      php_ver=''
      php_verAdds=''
      sslprivkey='/opt/fog/snapins/ssl//.srvprivate.key'
      ## End of FOG Settings
      

      I’ve rerun installation a few times.
      I’ve tried modifying my dnsmasq.conf using all the methods I could find in the forums

      Additional information:
      I installed using this page: https://wiki.fogproject.org/wiki/index.php?title=CentOS_7
      I migrated settings using this wiki page: https://wiki.fogproject.org/wiki/index.php?title=Migrate_FOG
      I built my dnsmasq config primarily with this page: https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq

      Last note: This works with my old server. FOG on a CentOS VM. Same versions across the board. I don’t know what the difference could be.

      Any help or suggestions are appreciated.

      george1421G 1 Reply Last reply Reply Quote 0
      • george1421G
        george1421 Moderator @jarvizu
        last edited by george1421

        @jarvizu said in Dell Optiplex 3080 - UEFI - PXE Boot E-21: Remote boot cancelled.:

        #dhcp-range=192.x.x.x,proxy

        #Subnet has no dhcp for last 55 addresses so dnsmasq is assigning those
        dhcp-range=192.x.x.200,192.x.xx.254,30m

        First this section is wrong because we don’t want the FOG server issuing IP addresses. We use the (currently commented out) proxy statement to only supply the pxe boot info to the target computer, everything else comes from your main dhcp server.

        DNSMAQ is a swiss army knife of network services. You have to be careful to not turn on things more than you need.

        So is your FOG server and pxe booting clients on the same subnet?

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

        J 1 Reply Last reply Reply Quote 0
        • S
          Sebastian Roth Moderator
          last edited by

          @jarvizu said in Dell Optiplex 3080 - UEFI - PXE Boot E-21: Remote boot cancelled.:

          Last note: This works with my old server. FOG on a CentOS VM.

          Also exact same dnsmasq.conf??

          Maybe there is another DHCP/PXE server in your new network setup that is causing the issue?

          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

          J 1 Reply Last reply Reply Quote 0
          • J
            jarvizu @george1421
            last edited by

            @george1421 FOG and PXE Boot clients are both on the same subnet. That subnet does not do any DHCP hence the desire for DNSMASQ to dish it out for me.

            Previous FOG server did it this way with no issues.

            I can swap it around in my ltsp.conf, but it still get past the Start PXE over IPv4 on MAC: xx-xx-xx-xx

            1 Reply Last reply Reply Quote 0
            • J
              jarvizu @Sebastian Roth
              last edited by

              @sebastian-roth Exact same dnsmasq.conf which is just the default. Only ever modified the /etc/dnsmasq.d/ltsp.conf file on both servers.

              The original FOG vm was running on an ESXi box however. Not sure if that makes much of a difference.

              george1421G 1 Reply Last reply Reply Quote 0
              • george1421G
                george1421 Moderator @jarvizu
                last edited by

                @jarvizu OK then lets see what is flying down the wire here. Use the FOG server to capture the pxe booting process. I have a tutorial here: https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue

                Upload the pcap to a file share site and post the link here. We’ll take a look at the pcap to see what is going wrong.

                Side note: If your network doesn’t have a dhcp server I would personally use isc-dhcp server on your fog server over dnsmasq. I would use dnsmasq if you have a dhcp server run by someone else and can’t update settings. In this case dnsmasq would supplement your unchangeable dhcp server.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                J 1 Reply Last reply Reply Quote 1
                • J
                  jarvizu @george1421
                  last edited by

                  @george1421 said in Dell Optiplex 3080 - UEFI - PXE Boot E-21: Remote boot cancelled.:

                  Side note: If your network doesn’t have a dhcp server I would personally use isc-dhcp server on your fog server over dnsmasq. I would use dnsmasq if you have a dhcp server run by someone else and can’t update settings. In this case dnsmasq would supplement your unchangeable dhcp server.

                  THANK YOU!

                  I set up isc-dhcp and it’s working like a charm.

                  For any future people reading:
                  I modified /etc/dhcp/dhcp.conf with the below config.
                  I disabled dnsmasq. systemctl stop dnsmasq.service
                  I started isc-dhcp service dhcpd start
                  I tsuccessfully PXE booted with my Dell 3080 a few times.
                  I permanently disabled dnsmasq. systemctl disable dnsmasq
                  I set isc-dhcp to start automatically. systemctl enable dhcpd

                  option space PXE;
                  option PXE.mtftp-ip    code 1 = ip-address;
                  option PXE.mtftp-cport code 2 = unsigned integer 16;
                  option PXE.mtftp-sport code 3 = unsigned integer 16;
                  option PXE.mtftp-tmout code 4 = unsigned integer 8;
                  option PXE.mtftp-delay code 5 = unsigned integer 8;
                  option arch code 93 = unsigned integer 16; # RFC4578
                  
                  use-host-decl-names on;
                  ddns-update-style interim;
                  ignore client-updates;
                  next-server 192.x.x.7;
                  authoritative;
                  
                  
                  subnet 192.x.x.0 netmask 255.255.255.0 {
                      option subnet-mask 255.255.255.0;
                      range dynamic-bootp 192.x.x.200 192.x.x.254;
                      default-lease-time 21600;
                      max-lease-time 43200;
                      option domain-name-servers 192.x.x.7;
                      option routers 192.x.x.7;
                   
                      class "UEFI-32-1" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006";
                      filename "i386-efi/ipxe.efi";
                      }
                  
                      class "UEFI-32-2" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002";
                       filename "i386-efi/ipxe.efi";
                      }
                  
                      class "UEFI-64-1" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007";
                       filename "ipxe.efi";
                      }
                  
                      class "UEFI-64-2" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008";
                      filename "ipxe.efi";
                      }
                  
                      class "UEFI-64-3" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009";
                       filename "ipxe.efi";
                      }
                  
                      class "Legacy" {
                      match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000";
                      filename "undionly.kkpxe";
                      }
                  
                  }
                  
                  1 Reply Last reply Reply Quote 0
                  • 1 / 1
                  • First post
                    Last post

                  194

                  Online

                  12.0k

                  Users

                  17.3k

                  Topics

                  155.2k

                  Posts
                  Copyright © 2012-2024 FOG Project