Replies: 4 comments 1 reply
-
Yes you need to rename it to bootx64.efi Try building the .efi for your specific nic, give your pcivendor and pcidevice IDs as a 8char string. Example at I do suspect that your Realtek is involved in the hang. |
Beta Was this translation helpful? Give feedback.
-
Hello Christian, snponly.efi: snp.efi: So it seems like the Realtek is not the problem? For example in the Mainboards BIOS I have options: The BIOS has a Network Stack enable/disable option. I set it to disable to see if something changes but ipxe.efi still hangs. As advised, as a next step I compiled ipxe with only the Mellanox ConnectX-3 driver 15b31003.efi make bin-x86_64-efi/15b31003.efi DEBUG="device,runtime,init,nii,efi_watchdog,efi_image,image_cmd,image,efi_autoboot,efi_timer,efi_driver:3,efi_debug,efi_init,efi_pci" LOG_LEVEL=LOG_ALL Screen output: make bin-x86_64-efi/15b31003.efi DEBUG="device,runtime,pci,init,nii,snp,snpnet,snponly,efi_watchdog,efi_image,image_cmd,image,efi_autoboot,efi_timer,efi_driver:3,efi_debug,efi_init,efi_pci" LOG_LEVEL=LOG_ALL I tried all the above Mainboard BIOS Settings combinations but no difference. Note that this Mellanox card has still the original HP firmware (as I posted on servethehome.com). I have another identical card where I reflashed the standard Mellanox firmware. I could try to test if it makes a difference. Any additional things I should try in order to investigate the cause of the hang? Many thanks in advance. |
Beta Was this translation helpful? Give feedback.
-
Hello, What do you mean with " network stack disabled in efi firmware" ? Disable something while compiling ipxe or did you mean the Mainboard BIOS Option? thanks, |
Beta Was this translation helpful? Give feedback.
-
I made some further tests: What I should not is that since the Ryzen PC with the ASUS B450M H has only 1 PCI-e 3.0 x16 slot and 2 PCI-e 2.0 x1 slots and the x16 slot is occupied by the GPU, I used a M.2 to PCI-e adapter (rated PCI-e 3.0 x4) to connect the ConnectX-3 in x4 mode. This is the adapter. I did some performance tests in Windows and Linux and did look at the output of dmesg in Linux and What's interesting is that when using a script to set the PCI speed (version 1,2 or 3): If I set the speed to PCI-e 3 then it tries to reconfigure the speed but fails and switches back to PCI-e 1. If I connect a nvme drive using a m.2 to PCI-e riser to this adapter then it works at full PCI-e 3 speed. But in case of the ConnectX-3 something strange is going on because it drops the PCI-e speed. Perhaps this is the cause why ipxe locks up in EFI mode? WinPE, Windows 10, Linux do not have a problem with the ConnectX-3 card connected to the M.2 to PCI-e adapter, except to the speed reduced to PCI-e 1 (or PCI-e 2 with the set_pci_speed.sh). Is it possible to compile the ipxe driver 15b31003.efi and put it directly on the ConnectX-3 card as an expansion ROM or is this not supported? Alternatively I could try this: since it seems hard to find a expansion ROM for Flexboot with UEFI support for the MCX354A-FCB_A2-A5, would it possible to compile it from source? Is this the correct repository ? It seems updated last 7 years, it says Flexboot 3.4.812, so the major.minor version (3.4) is the same that is on my card, which in theory should work. But this ROM file is not signed so I cannot burn it to the card. Any hints how to proceed? Many thanks in advance, |
Beta Was this translation helpful? Give feedback.
-
Hello,
I have a ConnectX-3 NIC (specifically a HP branded MCX354A-FCB_A2-A5) which unfortunately lacks an UEFI boot ROM, and it seems hard / impossible to find one since the cards are EOL and by default it does not ship with a UEFI boot ROM.
See my recent related question on servethehome.com
https://forums.servethehome.com/index.php?threads/connectx-3-uefi-rom.33131/#post-396214
I would like to ask if it possible to do the following:
put ipxe.efi on a USB stick, boot the PC in EFI mode from and start ipxe.efi and from there configure the Connect-X3 and load a iSCSI-aware WinPE in order to install Windows on the iSCSI target in EFI mode since it supports disk greater than 2TB.
I already succeded booting Windows 10 from a iSCSI target in BIOS mode but with the limitation of 2TB.
So is the USB Stick boot in EFI mode and sanhook via the ConnectX-3 for installing / booting Windows 10 in EFI mode technically possible or is there a limitation in ipxe which makes this impossible?
on my Mainboard ASUS B450M H - Ryzen CPU, when I create an EFI partition on an USB stick I must rename the ipxe.efi to
bootx64.efi otherwise it does not start. It must reside in \EFI\BOOT
Unfortunately when starting it remains stuck in iPXE initializing devices ...
(I compiled it from git a few days ago)
(The mainboard has a integrated Realtek 1GbE NIC which I don't use.)
So I recompiled ipxe.efi with DEBUG options to see what's going on.
make bin-x86_64-efi/ipxe.efi DEBUG="device,runtime,pci,init,nii,snp,snpnet,snponly,efi_watchdog,efi_image,image_cmd,image,efi_autoboot,efi_timer,efi_driver:3,efi_debug,efi_init,efi_pci,efi_wrap,intel" LOG_LEVEL=LOG_ALL
Unfortunately the debug messages list is longer than one screen and the messages do scroll fast, so I made a short video and extracted a few frames.
https://ibb.co/xSx1JFw
https://ibb.co/VS4XCX8
https://ibb.co/mhj6Z35
https://ibb.co/1KJx8Y2
Should I proceed further with debugging or is my use case not covered by ipxe?
One more thing I tried is to create an USB stick with and iSCSI enabled WinPE using the Windows 10 ADK and it boots and by quering the registry I see it booted in UEFI mode. I can mount the iSCSI target using iscsicpl but Windows 10 setup.exe refuses to install on that disk because it says " "Windows cannot be installed to this disk. iSCSI deployment is disabled since no NICs referenced in the iBFT can be resolved to actual NT-visible devices."
many thanks in advance for your help.
Best regards,
Janis
Beta Was this translation helpful? Give feedback.
All reactions