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

Serve different types of .efi boot files

Scheduled Pinned Locked Moved Unsolved
Linux Problems
4
55
21.1k
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.
  • G
    george1421 Moderator @dureal99d
    last edited by george1421 Oct 12, 2016, 12:28 PM Oct 12, 2016, 6:26 PM

    @dureal99d Ok that is a bit what I saw when I was working on the tutorial at home. There has to be an easier way, I just haven’t learned it yet.

    But here is what I did, I mashed the two values together.

    # From wireshark.
    00000011-0000-0000-0000-50465d986f3c
    # Translated into 2 nibble hex numbers
    00:00:00:11:00:00:00:00:00:00:50:46:5d:98:6f:3c
    
    # From dnsmasq log
    00:11:00:00:00:00:00:00:00:00:00:50:46:5d...
    
    #Side by side aligned
       00:00:00:11:00:00:00:00:00:00:50:46:5d:98:6f:3c
    00:11:00:00:00:00:00:00:00:00:00:50:46:5d...
    
    #Missing bits filled into the dnsmasq one
    00:11:00:00:00:00:00:00:00:00:00:50:46:5d:98:6f:3c
    

    End results to create the unique uuid for this asus computer. 00:11:00:00:00:00:00:00:00:00:00:50:46:5d:98:6f:3c

    So now we need to make one of those magical dnsmasq filters that will identify this computer for us.

    Edit (duh, I just realized that the 50:46:5d:98:6f:3c of that uuid is the mac address of that computer. That won’t do for us exactly. but we are close)

    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!

    D 1 Reply Last reply Oct 12, 2016, 6:28 PM Reply Quote 1
    • D
      dureal99d @george1421
      last edited by Oct 12, 2016, 6:28 PM

      @george1421 I see

      G 1 Reply Last reply Oct 12, 2016, 6:34 PM Reply Quote 0
      • G
        george1421 Moderator @dureal99d
        last edited by Oct 12, 2016, 6:34 PM

        @dureal99d This one may be harder than with the Dell computers I’ve tested on. The uuid is actually made up of two parts the IAID which should indicate the model and DUID which should should be device specific. In this case the model identifier is ‘00:11:00:00:00:00:00:00:00’ We can filter on that, but it doesn’t look too unique.

        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!

        1 Reply Last reply Reply Quote 0
        • G
          george1421 Moderator @Tom Elliott
          last edited by Oct 12, 2016, 8:00 PM

          @Tom-Elliott said in Serve different types of .efi boot files:

          Oct 12 12:59:32 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1280]: 3272245650 vendor class: PXEClient:Arch:00007:UNDI:003016

          That is what I see:

          Not ignoring you on this. The vendor class (option 60) doesn’t have anything that is unique to describe this machine. While the arch does tell you if it is a uefi or bios machine that is all that can be gleaned from that option. The UNDI part is only what version of UNDI the client supports. The Dell 6230 I had also had a undi value of 003 016 and that one used ipxe.efi or snp.efi for a uefi boot.

          The UUID (option 97) is suppose to be unique on a model (first half of uuid) and device (second half of uuid). on a per machine basis. My hope is that we can use the uuid for this. The only other thing that is unique in the dhcp request is the mac address, but then you will need a match filter for every mac address you want a unique iPXE boot kernel for. That (IMO) is not very sustainable if you have more than about 20 devices on your campus.

          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!

          D W 2 Replies Last reply Oct 12, 2016, 8:04 PM Reply Quote 0
          • D
            dureal99d @george1421
            last edited by Oct 12, 2016, 8:04 PM

            @george1421 said in Serve different types of .efi boot files:

            The

            I don’t mind adding mac addresses. I tried to use the uuid number you generated and perhaps I did it wrong. but here is my file now.

            # 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=IA32_UEFI,PXEClient:Arch:00006
            dhcp-vendorclass=BC_UEFI,PXEClient:Arch:00007
            dhcp-vendorclass=X86-64_EFI,PXEClient:Arch:00009
            
            #UUID for a asus r503u I tested (this info was gleaned from the dnsmasq log file that recorded
            # a pxe boot session of this target computer
            dhcp-match=set:r503u,97,00:11:00:00:00:00:00:00:00:00:00:50:46:5d:98:6f:3c
            
            # The default boot filename, Server name, Server Ip Address
            dhcp-boot=undionly.kpxe,,192.168.1.109
            
            # Set the boot file name based on the matching tag from the vendor class (above)
            dhcp-boot=net:IA32_UEFI,i386-efi/ipxe.efi,,192.168.1.109
            dhcp-boot=net:BC_UEFI,ipxe.efi,,192.168.1.109
            dhcp-boot=net:X86-64_EFI,ipxe.efi,,192.168.1.109
            
            # Our test to ensure both the BC_UEFI and r503u tags are set. 
            dhcp-boot=tag:BC_UEFI,tag:r503u,intel7156.efi,192.168.1.109,192.168.1.109
            
            # 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, ARM_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.
            
            # PXEClient:Arch:00000
            pxe-service=X86PC, "Boot BIOS PXE", undionly.kpxe
            
            # PXEClient:Arch:00007
            pxe-service=BC_EFI, "Boot UEFI PXE-BC", ipxe.efi
            
            # PXEClient:Arch:00009
            pxe-service=X86-64_EFI, "Boot UEFI PXE-64", ipxe.efi
            
            dhcp-range=192.168.1.109,proxy```
            1 Reply Last reply Reply Quote 0
            • W
              Wayne Workman @george1421
              last edited by Oct 12, 2016, 8:31 PM

              @george1421 said in Serve different types of .efi boot files:

              The UUID (option 97) is suppose to be unique on a model (first half of uuid) and device (second half of uuid). on a per machine basis. My hope is that we can use the uuid for this.

              Well that would be amazing. We should work on using that for ISC-DHCP too.

              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!
              Daily Clean Installation Results:
              https://fogtesting.fogproject.us/
              FOG Reporting:
              https://fog-external-reporting-results.fogproject.us/

              G 1 Reply Last reply Oct 12, 2016, 8:41 PM Reply Quote 0
              • G
                george1421 Moderator @Wayne Workman
                last edited by Oct 12, 2016, 8:41 PM

                @Wayne-Workman said in Serve different types of .efi boot files:

                Well that would be amazing. We should work on using that for ISC-DHCP too.

                It would be wonderful if all hardware manufacturers did this too. But as with the Lenovo the OP has, its all zeros. As long as that is model unique then we can work with it, but I suspect all lenovos have that set to zero.

                From what I understand isc-dhcp can do this too like dnsmasq make run time decisions based on what client advertises. I just haven’t dug into the isc-dhcp settings as of now to say for absolute.

                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!

                W 1 Reply Last reply Oct 12, 2016, 9:38 PM Reply Quote 0
                • W
                  Wayne Workman @george1421
                  last edited by Oct 12, 2016, 9:38 PM

                  @george1421 According to rfc4578, Option 97 is one of the public DHCP options - meaning vendors can use it for whatever they want, including nothing. https://tools.ietf.org/html/rfc4578

                  That’s why there isn’t a DHCP option for 97 listed in the ISC-DHCP manual:
                  https://linux.die.net/man/5/dhcp-options

                  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!
                  Daily Clean Installation Results:
                  https://fogtesting.fogproject.us/
                  FOG Reporting:
                  https://fog-external-reporting-results.fogproject.us/

                  D 1 Reply Last reply Oct 13, 2016, 1:16 AM Reply Quote 2
                  • D
                    dureal99d @Wayne Workman
                    last edited by dureal99d Oct 12, 2016, 7:17 PM Oct 13, 2016, 1:16 AM

                    @Wayne-Workman I see. Well is there another way to call up a specific .efi file using dnsmasq?

                    W 1 Reply Last reply Oct 13, 2016, 1:18 AM Reply Quote 0
                    • W
                      Wayne Workman @dureal99d
                      last edited by Oct 13, 2016, 1:18 AM

                      @dureal99d For dnsmasq, George is the guy to ask. He’s laid out several matching techniques. If option 60 sent from the host doesn’t have something unique appended to the end of it, you’re probably out of luck - unless you want to do it the insane-hard way and use MAC address matching.

                      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!
                      Daily Clean Installation Results:
                      https://fogtesting.fogproject.us/
                      FOG Reporting:
                      https://fog-external-reporting-results.fogproject.us/

                      D 1 Reply Last reply Oct 13, 2016, 1:19 AM Reply Quote 0
                      • D
                        dureal99d @Wayne Workman
                        last edited by Oct 13, 2016, 1:19 AM

                        @Wayne-Workman said in Serve different types of .efi boot files:

                        you’re probably out of

                        I don’t mind using mac address matching. or rather learning it and then using when needed.

                        G W 3 Replies Last reply Oct 13, 2016, 1:24 AM Reply Quote 0
                        • G
                          george1421 Moderator @dureal99d
                          last edited by george1421 Oct 12, 2016, 7:26 PM Oct 13, 2016, 1:24 AM

                          @dureal99d well then you know the basics then you probably want to look into this filter

                          dhcp-mac=set:mac_01,<mac_to_match>
                          

                          so then you will need a dhcp-boot with the conditional test for mac_01 and the name of the boot file you want to send.

                          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!

                          1 Reply Last reply Reply Quote 1
                          • W
                            Wayne Workman @dureal99d
                            last edited by Oct 13, 2016, 1:25 AM

                            @dureal99d I’ve been on dnsmasq’s mailing list for about a year now. Simon Kelly - creator and maintainer of dnsmasq - sends out an email with answers to questions about every day or every other day. You can get on this mailing list, and you can email him questions like I have, and he’ll respond. As with anything, include as many details as possible. The link to the mailing list and such is below.

                            http://www.thekelleys.org.uk/dnsmasq/doc.html

                            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!
                            Daily Clean Installation Results:
                            https://fogtesting.fogproject.us/
                            FOG Reporting:
                            https://fog-external-reporting-results.fogproject.us/

                            1 Reply Last reply Reply Quote 1
                            • W
                              Wayne Workman @dureal99d
                              last edited by Oct 13, 2016, 1:31 AM

                              @dureal99d Just found this in Simon’s archive:

                              https://www.mail-archive.com/dnsmasq-discuss@lists.thekelleys.org.uk/msg00895.html

                              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!
                              Daily Clean Installation Results:
                              https://fogtesting.fogproject.us/
                              FOG Reporting:
                              https://fog-external-reporting-results.fogproject.us/

                              D 1 Reply Last reply Oct 13, 2016, 3:17 AM Reply Quote 1
                              • D
                                dureal99d @Wayne Workman
                                last edited by Wayne Workman Oct 12, 2016, 9:20 PM Oct 13, 2016, 3:17 AM

                                @Wayne-Workman @george1421
                                based upon what i read this config should work right?

                                # 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=IA32_UEFI,PXEClient:Arch:00006
                                dhcp-vendorclass=BC_UEFI,PXEClient:Arch:00007
                                dhcp-vendorclass=X86-64_EFI,PXEClient:Arch:00009
                                
                                #UUID for a asus r503u I tested (this info was gleaned from the dnsmasq log file that recorded
                                # a pxe boot session of this target computer
                                dhcp-mac=r503u,50:46:5d:98:6f:3c
                                
                                # The default boot filename, Server name, Server Ip Address
                                dhcp-boot=undionly.kpxe,,192.168.1.109
                                
                                # Set the boot file name based on the matching tag from the vendor class (above)
                                dhcp-boot=net:IA32_UEFI,i386-efi/ipxe.efi,,192.168.1.109
                                dhcp-boot=net:BC_UEFI,ipxe.efi,,192.168.1.109
                                dhcp-boot=net:X86-64_EFI,ipxe.efi,,192.168.1.109
                                dhcp-boot=net:r503u,intel7156.efi,,192.68.1.109
                                
                                # Our test to ensure both the BC_UEFI and r503u tags are set. 
                                dhcp-boot=tag:BC_UEFI,tag:r503u, intel7156.efi, 192.168.1.109, 192.168.1.109
                                
                                # 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, ARM_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.
                                
                                # PXEClient:Arch:00000
                                pxe-service=X86PC, "Boot BIOS PXE", undionly.kpxe
                                
                                # PXEClient:Arch:00007
                                pxe-service=BC_EFI, "Boot UEFI PXE-BC", ipxe.efi
                                
                                # PXEClient:Arch:00009
                                pxe-service=X86-64_EFI, "Boot UEFI PXE-64", ipxe.efi
                                
                                dhcp-range=192.168.1.109,proxy
                                

                                this config should work right?

                                1 Reply Last reply Reply Quote 0
                                • W
                                  Wayne Workman
                                  last edited by Oct 13, 2016, 3:21 AM

                                  You’ve tagged a specific MAC as Simon did in his answer, then later assigned that tag a specific file. Looks good to me.

                                  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!
                                  Daily Clean Installation Results:
                                  https://fogtesting.fogproject.us/
                                  FOG Reporting:
                                  https://fog-external-reporting-results.fogproject.us/

                                  D 2 Replies Last reply Oct 13, 2016, 3:22 AM Reply Quote 0
                                  • D
                                    dureal99d @Wayne Workman
                                    last edited by dureal99d Oct 12, 2016, 9:22 PM Oct 13, 2016, 3:22 AM

                                    @Wayne-Workman said in Serve different types of .efi boot files:

                                    You’ve tagged a specific MAC as Simon did in his answer

                                    yet the file I’m telling it to send is not being sent, something is off.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      dureal99d @Wayne Workman
                                      last edited by dureal99d Oct 12, 2016, 9:24 PM Oct 13, 2016, 3:24 AM

                                      @Wayne-Workman @george1421 has this line as dhcp-mac=set:mac_01,<mac_to_match> perhaps i need to add the =set part. i only took it away because of what simon says in his article

                                      W 1 Reply Last reply Oct 13, 2016, 3:29 AM Reply Quote 0
                                      • W
                                        Wayne Workman @dureal99d
                                        last edited by Oct 13, 2016, 3:29 AM

                                        @dureal99d Try it. Nothing to loose if it doesn’t work.

                                        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!
                                        Daily Clean Installation Results:
                                        https://fogtesting.fogproject.us/
                                        FOG Reporting:
                                        https://fog-external-reporting-results.fogproject.us/

                                        D 1 Reply Last reply Oct 13, 2016, 3:41 AM Reply Quote 0
                                        • D
                                          dureal99d @Wayne Workman
                                          last edited by dureal99d Oct 12, 2016, 9:42 PM Oct 13, 2016, 3:41 AM

                                          @Wayne-Workman @george1421
                                          it still wants to send the ipxe.efi file and i don’t know why

                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 822119114 available DHCP subnet: 192.168.1.109/255.255.255.0
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 822119114 vendor class: PXEClient:Arch:00007:UNDI:003016
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 available DHCP subnet: 192.168.1.109/255.255.255.0
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 vendor class: PXEClient:Arch:00007:UNDI:003016
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 PXE(enp8s0) 50:46:5d:98:6f:3c proxy
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 tags: BC_UEFI, r503u, enp8s0
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 bootfile name: ipxe.efi
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 server name: 192.168.1.109
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 next server: 192.168.1.109
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 sent size:  1 option: 53 message-type  5
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 sent size:  4 option: 54 server-identifier  192.168.1.109
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
                                          Oct 12 22:39:00 dureal99d-Precision-WorkStation-T5400 dnsmasq-dhcp[1283]: 1735601825 sent size: 17 option: 97 client-machine-id ```
                                          G 1 Reply Last reply Oct 13, 2016, 10:07 AM Reply Quote 0
                                          • 1
                                          • 2
                                          • 3
                                          • 2 / 3
                                          2 / 3
                                          • First post
                                            34/55
                                            Last post

                                          164

                                          Online

                                          12.0k

                                          Users

                                          17.3k

                                          Topics

                                          155.2k

                                          Posts
                                          Copyright © 2012-2024 FOG Project