brand new dell latitude 3500
-
Ding ding ding ding! I need to set my dhcp server settings for UEFI!!! Thanks!!!
-
@Joe-Gill said in brand new dell latitude 3500:
Ding ding ding ding! I need to set my dhcp server settings for UEFI!!!
You may want to consider:
https://wiki.fogproject.org/wiki/index.php/BIOS_and_UEFI_Co-Existence#Using_Windows_Server_2012_.28R1_and_later.29_DHCP_Policy -
@p4cm4n I have the same problem you had. When i look in the dnsmasq log it shows the vendorclass as PXEClient:Arch:00007:UNDI:003016
so i created dhcp-vendorclass=UEFIBC,PXEClient:Arch:00007:UNDI:003016
iwith that in the ltsp.conf i get the Boot to FOG UEFI PXE-BC prompt but it never boots the efi
here is my conf file.
If anyone could help it would be appreciated.# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp log-queries # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,10.5.0.240 # 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-vendorclass=UEFIBC,PXEClient:Arch:00007:UNDI:003016 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=tag:UEFI32,i386-efi/ipxe.efi,,10.5.0.240 dhcp-boot=tag:UEFI,ipxe.efi,,10.5.0.240 dhcp-boot=tag:UEFI64,ipxe.efi,,10.5.0.240 dhcp-boot=tag:UEFIBC,ipxe7156.efi,,10.5.0.240 # 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 #ipxe7156.efi dhcp-range=10.5.0.240,proxy,255.255.0.0```
-
@bigjim said in brand new dell latitude 3500:
When i look in the dnsmasq log it shows the vendorclass as PXEClient:Arch:00007:UNDI:003016
Lets first try to understand your problem so we can work on a solution.
Just for clarity
PXEClient:Arch:00007:UNDI:003016
The undi part is not unique to identify the hardware, that is only the undi version 3.16 which is not a unique identifier. I’m going to say the issue is that both tags UEFI and UEFIBC will match, then when you get down to the dhcp-boot section, the UEFI will match first and then not check the remainder (guess) so only ipxe.efi will be sent to the client. Also thing to note, unless you have an old version of FOG, ipxe71567.efi should no longer be supported. I’d have to check but that boot loader should have been removed from the build.What isn’t working at the moment here?
-
@george1421 Thanks for the response. Before I added PXEClient:Arch:00007:UNDI:003016 to the conf the laptop showed the
Boot to FOG UEFI PXE-BC
on the screen
but iPXE would never start as if it was not finding the file.
The screen goes away too fast to see if there are any other messagesYou are correct 7156 was removed, I pulled it from an old build to try different options.
Thanks
-
@bigjim If we look at the boot table map these are the different classes of systems
Type Architecture Name ---- ----------------- 0 Intel x86PC 1 NEC/PC98 2 EFI Itanium 3 DEC Alpha 4 Arc x86 5 Intel Lean Client 6 EFI IA32 7 EFI BC (EFI Byte Code) 8 EFI Xscale 9 EFI x86-64
For this device Arch:0007 should have matched, which is EFI_BC so the flag UEFI should be set.
So the boot file name should match
dhcp-boot=tag:UEFI,ipxe.efi,,10.5.0.240
The following section has noting to do with the tags above because this is the boot menu, but its needed to boot correctly with some firmware.
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
In this menu BC_EFI flag should match, because this is an internal variable. The
pxe-prompt
is set to 1 second because there is nothing for the user to select here because dnsmasq picks the correct flag.Now I might suggest that you remove the comment at the end of hte BC line
pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi #ipxe7156.efi
Now there is one more trick if you have really wacky uefi firmware. Where you append the IP address of your fog server to the end of the pxe-service line making.
pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi, 10.5.0.240
But I haven’t see this extra trick needed in quite a while.
All this does is send the correct boot file name to the target computer using proxyDHCP protocol (over udp port 4011)
-
@bigjim Your dnsmasq config is outdated if you’re using the a newer version. (and UEFI + BIOS proxydhcp didn’t work at all on older versions)
dhcp-boot=tag:UEFI32,i386-efi/ipxe.efi,10.5.0.240
dhcp-boot=tag:UEFI,ipxe.efi,10.5.0.240
dhcp-boot=tag:UEFI64,ipxe.efi,10.5.0.240
The syntax
tag:
is no longer valid and needs to be replaced withnet:
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq#Install_dnsmasq_on_CentOS_7 for reference
It’s confusing because there’s info on both older versions of dnsmasq and the newer ones, but likely this is the cause.
-
Has anyone figured this out yet?
-
@Mountainmanmoore What exactly do you mean be “this”???
-
If by this you mean booting a Dell Latitude 3500 via UEFI, I was able to get that going by setting up my DHCP server correctly as indicated in the post here.
-
Sorry to dig up an old post but I have a lot of 30 of these laptops that need imaging.
I get to the Fog menu, so I know my Windows DHCP server settings are okay, but the second I go to “Perform Quick Host Registration/Inventory” the server reports that bzImage loads and then immediately I receive an error that says Chainloading failed followed by the same message as the error posted here:
https://forums.fogproject.org/topic/12108/could-not-select-exec-format-error-http-ipxe-org-2e008081
I am using the laptop’s integrated ethernet NIC. In the laptop’s BIOS, the UEFI network stack is set to enabled w/PXE. The SATA controller is set to AHCI mode. Secure boot is disabled, as is the TPM and Absolute Guard.
It should be noted that I had previously tried the SATA controller in RAID ON mode and tried a registration previously and those attempts proceeded to boot the registration menu but failed to find a hard drive, so I switched the controller, did a clean install because Windows didn’t like that, and tried again.
-
@TheFunk35 What version of FOG, and is the firmware up to date on these 3500s?
-
@george1421 Latest production version of Fog 1.5.8 running on CentOS 7. I don’t know about the firmware. I will try to update it tonight. I’m not hopeful that will help. It looks like my older Precision T3610 desktops are having a similar issue. They all reach the Fog menu but then trying to load anything from there is a no go.
-
@TheFunk35 For sure the computer is in uefi mode? And you are double sure that safeboot is disabled?
Just for grins what are you sending as a PXE boot file to this computer?
While I seriously doubt is an ipxe menu issue if you go to a browser and call up this url, this is the program behind the iPXE menu.
http://<fog_server_ip>/fog/service/ipxe/boot.php
post the results here. -
@george1421 I went ahead and updated firmware. The 3500s received a firmware update on 3/13/20.
After applying the latest firmware the issue still stands. Should I try with a different ethernet adapter or is this an ipxe issue? It looks like these laptops come with realtek NICs. They seem like junky NICs. They’re the kind with the little clip built into the laptop case that are always insanely difficult to pull an RJ-45 out of. Should I try with realtek.efi instead of ipxe.efi?
-
@TheFunk35 You can try the realtek.efi boot loader, but I don’t think that is the problem. What is happening is the bzImage file transferred by ipxe.efi file is not runnable on the target computer, maybe because its corrupt or something else is blocking it from running. Like always this error should not happen.
-
@george1421 Info as requested. I do have a few custom menu items but the weird thing is, everything works perfectly when booting legacy. It seems I’m having this issue only with UEFI booting devices.
#!ipxe set fog-ip 192.168.77.146 set fog-webroot fog set boot-url http://${fog-ip}/${fog-webroot} cpuid --ext 29 && set arch x86_64 || set arch i386 goto get_console :console_set colour --rgb 0x00567a 1 || colour --rgb 0x00567a 2 || colour --rgb 0x00567a 4 || cpair --foreground 7 --background 2 2 || goto MENU :alt_console cpair --background 0 1 || cpair --background 1 2 || goto MENU :get_console console --picture http://192.168.77.146/fog/service/ipxe/bg.png --left 100 --right 80 && goto console_set || goto alt_console :MENU menu colour --rgb 0xff0000 0 || cpair --foreground 1 1 || cpair --foreground 0 3 || cpair --foreground 4 4 || item --gap Host is NOT registered! item --gap -- ------------------------------------- item fog.local Boot from hard disk item fog.memtest Run Memtest86+ item fog.reginput Perform Full Host Registration and Inventory item fog.reg Quick Registration and Inventory item fog.deployimage Deploy Image item fog.multijoin Join Multicast Session item fog.sysinfo Client System Information (Compatibility) item Ghost Symantec Ghost Imaging Solution item Windows_PE_x86 Install 32 bit Windows OS item Windows_PE_x64 Install 64 bit Windows OS item PMagic Parted Magic Utility OS - 32 bit item PMagic64 Parted Magic Utility OS - 64 bit item GParted_x64 GParted Live 64 Bit choose --default fog.local --timeout 3000 target && goto ${target} :fog.local sanboot --no-describe --drive 0x80 || goto MENU :fog.memtest kernel memdisk initrd=memtest.bin iso raw initrd memtest.bin boot || goto MENU :fog.reginput kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.77.146/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.77.146:/images/ storageip=192.168.77.146 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=manreg imgfetch init_32.xz boot || goto MENU :fog.reg kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.77.146/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.77.146:/images/ storageip=192.168.77.146 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=autoreg imgfetch init_32.xz boot || goto MENU :fog.deployimage login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param qihost 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme param sysuuid ${uuid} :fog.multijoin login params param mac0 ${net0/mac} param arch ${arch} param username ${username} param password ${password} param sessionJoin 1 isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme param sysuuid ${uuid} :fog.sysinfo kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.77.146/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.77.146:/images/ storageip=192.168.77.146 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=sysinfo imgfetch init_32.xz boot || goto MENU :Ghost initrd http://${fog-ip}/Ghost/ghost-uni-new.iso chain memdisk iso raw || param sysuuid ${uuid} :Windows_PE_x86 kernel http://${fog-ip}/WinPE86/wimboot initrd http://${fog-ip}/WinPE86/bootmgr bootmgr initrd http://${fog-ip}/WinPE86/Boot/BCD BCD initrd http://${fog-ip}/WinPE86/Boot/boot.sdi boot.sdi initrd http://${fog-ip}/WinPE86/sources/boot.wim boot.wim boot param sysuuid ${uuid} :Windows_PE_x64 kernel http://${fog-ip}/WinPE64/wimboot initrd http://${fog-ip}/WinPE64/bootmgr bootmgr initrd http://${fog-ip}/WinPE64/Boot/BCD BCD initrd http://${fog-ip}/WinPE64/Boot/boot.sdi boot.sdi initrd http://${fog-ip}/WinPE64/sources/boot.wim boot.wim boot param sysuuid ${uuid} :PMagic kernel http://${fog-ip}/PMagic/bzImage initrd http://${fog-ip}/PMagic/initrd.img initrd http://${fog-ip}/PMagic/fu.img initrd http://${fog-ip}/PMagic/m32.img initrd http://${fog-ip}/PMagic/files.cgz boot param sysuuid ${uuid} :PMagic64 kernel http://${fog-ip}/PMagic/bzImage64 initrd http://${fog-ip}/PMagic/initrd.img initrd http://${fog-ip}/PMagic/fu.img initrd http://${fog-ip}/PMagic/m64.img initrd http://${fog-ip}/PMagic/files.cgz boot param sysuuid ${uuid} :GParted_x64 kernel http://${fog-ip}/GParted/vmlinuz vmlinuz boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=tftp://${fog-ip}/GParted/filesystem.squashfs initrd http://${fog-ip}/GParted/initrd.img boot param sysuuid ${uuid} :bootme chain -ar http://192.168.77.146/fog/service/ipxe/boot.php##params || goto MENU autoboot
-
@george1421 could it have something to do with the fact that bzImage32 and init_32.xz sound like they are 32 bit? Maybe I should create a menu entry “Register 64 bit UEFI machine” and replace those values with bzImage and init.xz?
-
@TheFunk35 said in brand new dell latitude 3500:
bzImage32 and init_32.xz
That is just an artifact of calling the url directly instead of via the iPXE menu which defines the arch.
-
@TheFunk35 said in brand new dell latitude 3500:
:fog.reg
kernel bzImage32 loglevel=4 initrd=init_32.xz root=/dev/ram0 rw ramdisk_size=275000 web=http://192.168.77.146/fog/ consoleblank=0 rootfstype=ext4 storage=192.168.77.146:/images/ storageip=192.168.77.146 nvme_core.default_ps_max_latency_us=0 loglevel=4 mode=autoreg
imgfetch init_32.xz
boot || goto MENUWell that was about what I expected its just a standard registration menu item. I also wanted to see if you had any additional kernel parameters that might be interfering with the boot, but no to that too.