Dell Optiplex 7050 and UEFI boot. Failed


  • Developer

    Hi FOGers!!

    I have problems with Dell optiplex 7050 and UEFI.

    Scenario:
    Dell Optiplex 7050
    BIOS version: 1.8.3
    FOG version: 1.5.5

    I use DNSMASQ in the server as proxy, I configurated it following the wiki [https://wiki.fogproject.org/wiki/index.php?title=BIOS_and_UEFI_Co-Existence]

    # 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_delay.efi,,10.0.15.4
    dhcp-boot=net:UEFI,ipxe.efi,,10.0.15.4
    dhcp-boot=net:UEFI64,10secdelay/ipxe.efi,,10.0.15.4
    
    
    # The boot filename, Server name, Server Ip Address
    dhcp-boot=10secdelay/undionly.kpxe,,10.0.15.4
    
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt=Booting FOG Client, 1
    

    I don’t have problems with other hardware like HP 800 G2 or G1, but I can not boot the Dell Optiplex 7050 using UEFI, with BIOS works fine.

    I paste the message log file where the dnsmasq logs:

    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 PXE(ens192) 54:bf:64:60:8d:e6 proxy
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 tags: known, UEFI, ens192
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 bootfile name: ipxe.efi
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 next server: 10.0.15.4
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 broadcast response
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 sent size:  1 option: 53 message-type  2
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 sent size:  4 option: 54 server-identifier  10.0.15.4
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
    Apr  3 13:03:51 fog7 dnsmasq-dhcp[54605]: 60349881 sent size: 17 option: 97 client-machine-id  00:44:45:4c:4c:52:00:10:35:80:57:c2:c0:4f...
    
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 60349881 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 60349881 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 PXE(ens192) 54:bf:64:60:8d:e6 proxy
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 tags: known, UEFI, ens192
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 bootfile name: ipxe.efi
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 next server: 10.0.15.4
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 sent size:  1 option: 53 message-type  5
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 sent size:  4 option: 54 server-identifier  10.0.15.4
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 sent size: 17 option: 97 client-machine-id  00:44:45:4c:4c:52:00:10:35:80:57:c2:c0:4f...
    Apr  3 13:03:54 fog7 dnsmasq-dhcp[54605]: 179443565 sent size: 25 option: 43 vendor-encap  06:01:08:0a:13:01:42:6f:6f:74:69:6e:67:20...
    
    

    The next log is from a HP 800 G2, with this hardware the UEFI boot process works fine.

    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 PXE(ens192) 94:57:a5:ed:e0:71 proxy
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 tags: known, UEFI, ens192
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 bootfile name: ipxe.efi
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 next server: 10.0.15.4
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 broadcast response
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 sent size:  1 option: 53 message-type  2
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 sent size:  4 option: 54 server-identifier  10.0.15.4
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
    Apr  3 13:11:28 fog7 dnsmasq-dhcp[56965]: 2988621705 sent size: 17 option: 97 client-machine-id  00:64:93:26:fc:58:34:e6:11:9c:43:bc:00:00...
    
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 2988621705 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 2988621705 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 vendor class: PXEClient:Arch:00007:UNDI:003016
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 PXE(ens192) 94:57:a5:ed:e0:71 proxy
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 tags: known, UEFI, ens192
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 bootfile name: ipxe.efi
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 next server: 10.0.15.4
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 sent size:  1 option: 53 message-type  5
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 sent size:  4 option: 54 server-identifier  10.0.15.4
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 sent size: 17 option: 97 client-machine-id  00:64:93:26:fc:58:34:e6:11:9c:43:bc:00:00...
    Apr  3 13:11:32 fog7 dnsmasq-dhcp[56965]: 561179993 sent size: 25 option: 43 vendor-encap  06:01:08:0a:13:01:42:6f:6f:74:69:6e:67:20...
    
    Apr  3 13:11:33 fog7 xinetd[9894]: START: tftp pid=57901 from=10.227.15.7
    Apr  3 13:11:33 fog7 in.tftpd[57902]: Error code 8: User aborted the transfer
    Apr  3 13:11:34 fog7 in.tftpd[57903]: Client 10.227.15.7 finished ipxe.efi
    
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 vendor class: PXEClient:Arch:00007:UNDI:003010
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 user class: iPXE
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 PXE(ens192) 94:57:a5:ed:e0:71 proxy
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 tags: known, UEFI, ens192
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 bootfile name: ipxe.efi
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 next server: 10.0.15.4
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 broadcast response
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 sent size:  1 option: 53 message-type  2
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 sent size:  4 option: 54 server-identifier  10.0.15.4
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 sent size:  9 option: 60 vendor-class  50:58:45:43:6c:69:65:6e:74
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 sent size: 17 option: 97 client-machine-id  00:64:93:26:fc:58:34:e6:11:9c:43:bc:00:00...
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 vendor class: PXEClient:Arch:00007:UNDI:003010
    Apr  3 13:11:56 fog7 dnsmasq-dhcp[56965]: 754448747 user class: iPXE
    Apr  3 13:11:56 fog7 in.tftpd[57972]: Client 10.227.15.7 finished default.ipxe
    
    
    Apr  3 13:12:20 fog7 dnsmasq-dhcp[56965]: 3016878399 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:12:20 fog7 dnsmasq-dhcp[56965]: 3016878399 vendor class: udhcp 1.29.2
    Apr  3 13:12:20 fog7 dnsmasq-dhcp[56965]: 3016878399 available DHCP subnet: 10.227.15.1/255.255.255.224
    Apr  3 13:12:20 fog7 dnsmasq-dhcp[56965]: 3016878399 vendor class: udhcp 1.29.2
    Apr  3 13:12:20 fog7 rpc.mountd[9945]: authenticated mount request from 10.227.15.7:851 for /images/dev (/images/dev)
    

  • Moderator

    @Fernando-Gietz said in Dell Optiplex 7050 and UEFI boot. Failed:

    I wonder if is a miracle that it has worked well until now in the other hardwares

    I’m glad you have it working now. Yes its strange why you didn’t find another system with the same issues. But that is why I included both, I ran across a system that would boot with the netboot info alone.


  • Developer

    Hi @george1421 ,

    Adding the pxe-service lines works fine XDD… I wonder if is a miracle that it has worked well until now in the other hardwares.

    Actual dnsmasq.conf file:

    port=0
    log-dhcp
    tftp-root=/tftpboot
    
    # Disable re-use of the DHCP servername and filename fields as extra
    # sy=2pace. 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_delay.efi,,10.0.15.8
    dhcp-boot=net:UEFI,ipxe_delay.efi,,10.0.15.8
    dhcp-boot=net:UEFI64,ipxe_delay.efi,,10.0.15.8
    
    # The boot filename, Server name, Server Ip Address
    dhcp-boot=undionly_delay.kpxe,,10.0.15.8
    
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt=Booting FOG Client, 1
    
    # 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-reply-delay=0
    
    # VLAN 50 (Biblioteca) 
    dhcp-range=10.227.34.1,proxy,255.255.254.0 
    

  • Moderator

    @Fernando-Gietz said in Dell Optiplex 7050 and UEFI boot. Failed:

    No. The server is in one vlan and the clients are in different vlans

    Is there any way for testing we can get both on the same vlan? Since you are running dnsmasq the pxe boot information should be available on the same vlan as your FOG server. That way when you run tcpdump from the FOG server you will see the broadcast as well as unicast traffic.

    pxe-prompt=Booting FOG Client, 1

    Its interesting that you have this part of the proxy-dhcp stuff but not the remainder.

    # 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
    

    I’ve found that if the netboot section doesn’t work on some clients the proxy-dhcp part will. I’m not saying it will work in your situation, but it won’t hurt to add it.

    With my dnsmasq configuration there are two part the netboot (dhcp-boot) that sets dhcp options 66 and 67 (and boot-file and next-server) in the dhcp header. The second part is the proxy-dhcp (pxe-service) bits for proxy-dhcp (udp port 4011).


  • Developer

    I have updated the BIOS version to 1.11.0 and 1.11.1 and doesn’t work :(


  • Developer

    @george1421 said in Dell Optiplex 7050 and UEFI boot. Failed:

    So if I understand the logs, its pxe booting and picking up a dhcp address but it doesn’t download the ipxe.efi boot file. Are you getting an error on the workstation itself (i.e. PXE-XXX)? I have seen one other firmware do this (basically ignore the boot info).

    In the workstation doesn’t appear any PXE error:

    >>Checking Media Presence .....
    >>Media Present.......
    >>Start PXE over IPv4 [and later IPv6]
    

    Is your fog server and target computer on the same subnet?

    No. The server is in one vlan and the clients are in different vlans

    Also have you confirmed that you have the latest firmware on this failing computer?
    I just see that Dell have update the BIOS version in November 1.11.0 and in March 1.11.1. The computer have the 1.8.3 version. I will try to update it but without hope :)

    Also (unless you didn’t include everything which I suspect since the dhcp-range stanza is missing) you are missing the proxy-dhcp bits in your dnsmasq config file.

    I don’t include them:

    # VLAN 50 (Biblioteca) 
    dhcp-range=10.227.34.1,proxy,255.255.254.0
    

    I don’t have any pxe-service lines in the config file:

    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
    

    dnsmasq.conf file:

    port=0
    log-dhcp
    tftp-root=/tftpboot
    # If you want dnsmasq to listen for DHCP and DNS requests only on
    # specified interfaces (and the loopback) give the name of the interface
    interface=ens192
    
    # 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_delay.efi,,10.0.15.4
    dhcp-boot=net:UEFI,ipxe.efi,,10.0.15.4
    dhcp-boot=net:UEFI64,10secdelay/ipxe.efi,,10.0.15.4
    
    
    # The boot filename, Server name, Server Ip Address
    dhcp-boot=10secdelay/undionly.kpxe,,10.0.15.4
    
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt=Booting FOG Client, 1
    
    #dhcp-reply-delay=0
    
    # VLAN 50 (Biblioteca) 
    dhcp-range=10.227.34.1,proxy,255.255.254.0 
    

  • Moderator

    @Fernando-Gietz said in Dell Optiplex 7050 and UEFI boot. Failed:

    # 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_delay.efi,,10.0.15.4
    dhcp-boot=net:UEFI,ipxe.efi,,10.0.15.4
    dhcp-boot=net:UEFI64,10secdelay/ipxe.efi,,10.0.15.4
    
    
    # The boot filename, Server name, Server Ip Address
    dhcp-boot=10secdelay/undionly.kpxe,,10.0.15.4
    
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt=Booting FOG Client, 1
    

    Also (unless you didn’t include everything which I suspect since the dhcp-range stanza is missing) you are missing the proxy-dhcp bits in your dnsmasq config file.

    # 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=<fog_server_ip>,proxy
    

    https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue


  • Moderator

    So if I understand the logs, its pxe booting and picking up a dhcp address but it doesn’t download the ipxe.efi boot file. Are you getting an error on the workstation itself (i.e. PXE-XXX)? I have seen one other firmware do this (basically ignore the boot info).

    Is your fog server and target computer on the same subnet? If not can you test it there so we can get the complete pcap picture? https://forums.fogproject.org/topic/9673/when-dhcp-pxe-booting-process-goes-bad-and-you-have-no-clue I’d like to look at the issue from the network side.

    Also have you confirmed that you have the latest firmware on this failing computer?



444
Online

6.3k
Users

13.7k
Topics

129.0k
Posts