brand new dell latitude 3500



  • seems that the newest kernel finds no hard drive - these things are brand new, they are fresh off the line from dell.

    anything I can do to see if its a hardware compatibility problem or something different?
    these don’t have ‘legacy’ boot mode anymore - its all uefi.



  • @Sebastian-Roth I can do that. It is kind of the same issue. In RAID mode the registration option loads but it just never finds a hard drive. It errors out with the same error OP posted here (can’t find drives). I would assume because the Intel RAID controller hides the actual drives.


  • Developer

    @TheFunk35 said in brand new dell latitude 3500:

    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

    Are you sure this is the case? Can you switch RAID mode back on and it proceeds booting to registration again?!

    As we are not really sure you are seeing the exact same problem here I’d ask you to open a new topic on this. Makes things more clear and we can still cross link topics. So please open a new topic and post a picture of the actual exec error on screen there. I can move the other posts over to that new topic then.


  • Moderator

    @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 MENU

    Well 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.


  • Moderator

    @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.



  • @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?



  • @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
    

  • Moderator

    @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 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?


  • Moderator

    @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 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.


  • Moderator

    @TheFunk35 What version of FOG, and is the firmware up to date on these 3500s?



  • 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.



  • @Mountainmanmoore

    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.


  • Developer

    @Mountainmanmoore What exactly do you mean be “this”???



  • Has anyone figured this out yet?


  • Moderator

    @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 with net:

    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.


  • Moderator

    @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)



  • @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 messages

    You are correct 7156 was removed, I pulled it from an old build to try different options.

    Thanks


  • Moderator

    @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?


Log in to reply
 

343
Online

7.0k
Users

14.2k
Topics

134.4k
Posts