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

    Dnsmasq proxy booting with UEFI

    Scheduled Pinned Locked Moved Solved
    Linux Problems
    5
    31
    20.8k
    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.
    • Wayne WorkmanW
      Wayne Workman @Killklli
      last edited by

      @Killklli and the contents of your tftpboot directory?

      ls -lahRt /tftpboot
      
      K 1 Reply Last reply Reply Quote 0
      • K
        Killklli @Wayne Workman
        last edited by

        @Wayne-Workman Here’s a screenshot.

        dirlist.png

        Wayne WorkmanW 1 Reply Last reply Reply Quote 0
        • Wayne WorkmanW
          Wayne Workman @Killklli
          last edited by Wayne Workman

          @Killklli you don’t have a copy or a symbolic link of ipxe.efi for ipxe.0

          so lets fix that first:

          ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0
          
          or
          
          cd /tftpboot
          ln -s ipxe.efi ipxe.0
          

          Then try the scripts I gave you - and play around with them a little.

          1 Reply Last reply Reply Quote 0
          • Tom ElliottT
            Tom Elliott @Killklli
            last edited by

            @Killklli I’m not 100% sure you need to specify the file as ipxe.0. With Proxy dhcp the .0 extension is automatically appended, and I can’t keep it from appending it. So If my suspicions are correct, it may actually be looking for a file called: ipxe.0.0 as well. I don’t know for sure though.

            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! Get in contact with me (chat bubble in the top right corner) if you want to join in.

            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

            N 1 Reply Last reply Reply Quote 1
            • N
              need2 Moderator @Tom Elliott
              last edited by

              @Tom-Elliott It does. At least it did in my environment when I was fighting with it. Getting close to being able to revisit this subject myself. Expect to be migrating our DHCP servers to WinSrv 2012R2 in the next 30 days.

              Wayne WorkmanW 1 Reply Last reply Reply Quote 0
              • Wayne WorkmanW
                Wayne Workman @need2
                last edited by Wayne Workman

                This post is deleted!
                1 Reply Last reply Reply Quote 0
                • Wayne WorkmanW
                  Wayne Workman
                  last edited by Wayne Workman

                  @need2 @Tom-Elliott well that complicates things… why did it work for me then? gah. I really need to sit down and tackle this.

                  @Killklli Run the below commands and then try the attached script.

                  ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.efi.0
                  ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0
                  ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.kpxe.0
                  ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.0
                  
                  port=0
                  log-dhcp
                  tftp-root=/tftpboot
                  dhcp-option=17,/images
                  dhcp-no-override
                  
                  
                  #this line is suspicious to me. What the heck does 6,2b mean ?
                  dhcp-option=vendor:PXEClient,6,2b
                  
                  #Here, I define netboot types
                  dhcp-vendorclass=BIOS,PXEClient:Arch:00006
                  dhcp-vendorclass=UEFI,PXEClient:Arch:00007
                  
                  #Set bootfile names depending on the client vendor identifier
                  dhcp-boot=BIOS,undionly.kpxe
                  dhcp-boot=UEFI,ipxe.efi
                  
                  pxe-prompt="Press F8 for boot menu", 3
                  pxe-service=X86PC, “BIOS and LEGACY Network Boot”, undionly
                  pxe-service=X86PC, “UEFI Network Boot”, ipxe
                  dhcp-range=x.x.x.x,proxy
                  
                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Killklli @Wayne Workman
                    last edited by

                    @Wayne-Workman Hmmmm. UEFI still isn’t grabbing. But Legacy still is.

                    Wayne WorkmanW 2 Replies Last reply Reply Quote 0
                    • Wayne WorkmanW
                      Wayne Workman @Killklli
                      last edited by

                      @Killklli I just tested on my system - all I had was failure with using symbolic links.

                      So - lets get rid of those and just use copies:

                      rm -f /tftpboot/undionly.kkpxe.0
                      rm -f /tftpboot/undionly.0
                      rm -f /tftpboot/ipxe.efi.0
                      rm -f /tftpboot/ipxe.0
                      cp /tftpboot/undionly.kkpxe /tftpboot/undionly.0
                      cp /tftpboot/ipxe.efi /tftpboot/ipxe.0
                      

                      Please stand by, I’m testing the code I gave you (it’s been a long day).

                      K 1 Reply Last reply Reply Quote 0
                      • Wayne WorkmanW
                        Wayne Workman @Killklli
                        last edited by Wayne Workman

                        @Killklli Try this, I just confirmed it works with LEGACY, have a great feeling about UEFI also.

                        @Developers @Moderators Just making sure you guys see this.

                        #port=0
                        log-dhcp
                        tftp-root=/tftpboot
                        dhcp-option=17,/images
                        dhcp-no-override
                        
                        #Here, I define netboot types
                        dhcp-vendorclass=BIOS,PXEClient:Arch:00006
                        dhcp-vendorclass=UEFI,PXEClient:Arch:00007
                        
                        #Set bootfile names depending on the client vendor identifier
                        dhcp-boot=net:BIOS,192.168.1.2,undionly.0
                        dhcp-boot=net:UEFI,192.168.1.2,ipxe.0
                        
                        pxe-prompt="Press F8 for boot menu", 3
                        pxe-service=X86PC, “BIOS and LEGACY Network Boot”, BIOS
                        pxe-service=X86PC, “UEFI Network Boot”, UEFI
                        dhcp-range=192.168.1.2,proxy
                        
                        1 Reply Last reply Reply Quote 0
                        • K
                          Killklli @Wayne Workman
                          last edited by

                          @Wayne-Workman I’m still confused that for whatever reason I’m not even seeing the UEFI boot grabbing IP’s. I just get a server timeout.

                          Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                          • Wayne WorkmanW
                            Wayne Workman @Killklli
                            last edited by

                            @Killklli try this - beyond this, I need some shut eye and I need to bring home my work laptop which is UEFI capable.

                            log-dhcp
                            tftp-root=/tftpboot
                            dhcp-boot=undionly.0,10.0.0.3,10.0.0.3
                            dhcp-option=17,/images
                            dhcp-option=vendor:PXEClient,6,2b
                            dhcp-no-override
                            pxe-prompt="Press F8 for boot menu", 3
                            pxe-service=X86PC, “Network Boot using undionly.0”, undionly
                            pxe-service=X86-64_EFI, "Network boot using ipxe.0", ipxe
                            dhcp-range=10.0.0.3,proxy
                            
                            
                            #for pxe-service=    the known types are below.
                            #x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
                            
                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Killklli @Wayne Workman
                              last edited by

                              @Wayne-Workman Just for when you get back to this. It still didn’t work. Still getting PXE-E18: Server Response Timeout for UEFI machines. But Legacy Works.

                              Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                              • Wayne WorkmanW
                                Wayne Workman @Killklli
                                last edited by Wayne Workman

                                @Killklli Another thing I learned last night about dnsmasq

                                is…

                                You can only have one config file in /etc/dnsmasq.d/ and the names of the files in there do not matter - the daemon will read all of them and use them as config files if it can.

                                because the configuration file here: /etc/dnsmasq.conf does not specify a name, it just specifies a directory to look in.

                                So if you have a backup config file inside of /etc/dnsmasq.d/ you have to move that file elsewhere because it will interfere with dnsmasq.

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

                                  @Killklli Are you still working on this? I have done a lot of testing and I am pretty sure that dnsmasq is not able to boot most UEFI devices as it uses DHCP option 43 which they don’t like (see here: https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/msg09233.html). I am working on a node.js proxy DHCP to support BIOS/UEFI and Mac OS X. But will be still a while I suppose - BIOS works pretty good and UEFI is not far either but the code is still a big mess.

                                  Follow this thread: https://forums.fogproject.org/topic/5870/dhcp-proxy-for-fog

                                  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

                                  1 Reply Last reply Reply Quote 1
                                  • 1
                                  • 2
                                  • 2 / 2
                                  • First post
                                    Last post

                                  202

                                  Online

                                  12.0k

                                  Users

                                  17.3k

                                  Topics

                                  155.2k

                                  Posts
                                  Copyright © 2012-2024 FOG Project