iPXE discussion forum

Full Version: A couple of issues with Flexboot
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have compiled the source code off of Mellanox is website, but it seems it not compiling intelx driver with it. It shows it does compile it, but when ipxe boot, it says no driver found for 8086:1528. I was wondering if anyone might know what is going on or what can I possibly look at. I am using the FlexBoot-3.4.521 source code off there site.

Also, when I try to compile the code from the flexboot.git, it errors out on mlx_port.c.

If anyone has any thoughts on what might be going on and what I can try, please let me know, thanks.

Code:
# make -j `getconf _NPROCESSORS_ONLN` bin/ConnectX-3.mrom EMBED=./script.ipxe EXTRA_CFLAGS='-DMLX_BUILD -D__MLX_0001_MAJOR_VER_=0x00100003 -D__MLX_MIN_SUB_MIN_VER_=0x000402cf -D__MLX_DEV_ID_00ff=0x100300ff -D__BUILD_VERSION__=\"3.4.719\" -DFLASH_CONFIGURATION  -Idrivers/infiniband/mlx_utils_flexboot/include/  -Idrivers/infiniband/mlx_utils/include/  -Idrivers/infiniband/mlx_utils/include/public/  -Idrivers/infiniband/mlx_utils/include/private/  -Idrivers/infiniband/mlx_nodnic/include/  -Idrivers/infiniband/mlx_nodnic/include/public/  -Idrivers/infiniband/mlx_nodnic/include/private/  -Idrivers/infiniband/mlx_utils_flexboot/tests/include/  -Idrivers/infiniband/mlx_utils/mlx_lib/mlx_reg_access/  -Idrivers/infiniband/mlx_utils/mlx_lib/mlx_nvconfig/  -Idrivers/infiniband/mlx_utils/mlx_lib/mlx_vmac/  -DDEVICE_CX3'
  [BUILD] bin/mlx_port.o
  [BUILD] bin/efi_hii.o
  [BUILD] bin/efi_init.o
  [BUILD] bin/efi_pci.o
  [BUILD] bin/efi_pxe.o
  [BUILD] bin/efi_reboot.o
  [BUILD] bin/efi_smbios.o
  [BUILD] bin/efi_snp.o
  [BUILD] bin/efi_snp_hii.o
  [BUILD] bin/efi_strings.o
  [BUILD] bin/efi_time.o
  [BUILD] bin/efi_timer.o
  [BUILD] bin/efi_uaccess.o
  [BUILD] bin/efi_umalloc.o
  [BUILD] bin/efi_usb.o
cc1: warnings being treated as errors
drivers/infiniband/mlx_nodnic/src/mlx_port.c: In function ‘nodnic_port_add_mac_filter’:
drivers/infiniband/mlx_nodnic/src/mlx_port.c:725: error: dereferencing pointer ‘mac.116’ does break strict-aliasing rules
drivers/infiniband/mlx_nodnic/src/mlx_port.c:725: note: initialized from here
  [BUILD] bin/efi_utils.o
  [BUILD] bin/efi_watchdog.o
make: *** [bin/mlx_port.o] Error 1
make: *** Waiting for unfinished jobs....
(2016-06-27 22:24)evildesgin Wrote: [ -> ]I have compiled the source code off of Mellanox is website, but it seems it not compiling intelx driver with it. It shows it does compile it, but when ipxe boot, it says no driver found for 8086:1528. I was wondering if anyone might know what is going on or what can I possibly look at. I am using the FlexBoot-3.4.521 source code off there site.

Use the standard iPXE tree for the intelx driver. The FlexBoot tree is very heavily modified, and is likely to work only for Mellanox cards.

Michael
I didn't realize this finally got posted, It wasn't show up for some reason or giving any errors.

I am unable to use ipxe source tree for Mellanox, for some reason the bios doesn't see the expansion rom. I was able to successfully compile the flexboot src, just needed to switch gcc version I was using. After speaking with someone in the irc room, they said to append --intelx before '.mrom'. I tried this, but it is still not loading the 8086:1528 device when Flexboot starts up on the Mellanox ConnectX-3 card.

I would burn the rom on the 8086:1528 if it was possible, but unfortunately it isn't and wont allow me to write to it. I have tried using the Bootutil, and other apps to allow but, but says it unsupported. The only option I have is to boot ipxe off the Mellanox card, and some how get it to see and use the intel card if possible. Is there any reason you might know why it says it has no driver for the intel card, when I did compile it in?
(2016-07-08 12:29)evildesgin Wrote: [ -> ]I am unable to use ipxe source tree for Mellanox, for some reason the bios doesn't see the expansion rom. I was able to successfully compile the flexboot src, just needed to switch gcc version I was using. After speaking with someone in the irc room, they said to append --intelx before '.mrom'. I tried this, but it is still not loading the 8086:1528 device when Flexboot starts up on the Mellanox ConnectX-3 card.

I would burn the rom on the 8086:1528 if it was possible, but unfortunately it isn't and wont allow me to write to it. I have tried using the Bootutil, and other apps to allow but, but says it unsupported. The only option I have is to boot ipxe off the Mellanox card, and some how get it to see and use the intel card if possible. Is there any reason you might know why it says it has no driver for the intel card, when I did compile it in?

As I have said before, you cannot use the FlexBoot tree to build support for any non-Mellanox cards. To get support for other cards (e.g. your 8086:1528 Intel X540 card), you will need to use the standard iPXE tree.

What are you actually trying to achieve? It sounds as though you may be trying to boot from the Intel card, but using the Mellanox card to hold the ROM image. Is this correct?

Michael
(2016-07-08 13:13)mcb30 Wrote: [ -> ]
(2016-07-08 12:29)evildesgin Wrote: [ -> ]I am unable to use ipxe source tree for Mellanox, for some reason the bios doesn't see the expansion rom. I was able to successfully compile the flexboot src, just needed to switch gcc version I was using. After speaking with someone in the irc room, they said to append --intelx before '.mrom'. I tried this, but it is still not loading the 8086:1528 device when Flexboot starts up on the Mellanox ConnectX-3 card.

I would burn the rom on the 8086:1528 if it was possible, but unfortunately it isn't and wont allow me to write to it. I have tried using the Bootutil, and other apps to allow but, but says it unsupported. The only option I have is to boot ipxe off the Mellanox card, and some how get it to see and use the intel card if possible. Is there any reason you might know why it says it has no driver for the intel card, when I did compile it in?

As I have said before, you cannot use the FlexBoot tree to build support for any non-Mellanox cards. To get support for other cards (e.g. your 8086:1528 Intel X540 card), you will need to use the standard iPXE tree.

What are you actually trying to achieve? It sounds as though you may be trying to boot from the Intel card, but using the Mellanox card to hold the ROM image. Is this correct?

Michael



That is correct, I am wanting the Mellanox card to hold the rom image, but I need to boot of the intel card.
(2016-07-08 13:15)evildesgin Wrote: [ -> ]That is correct, I am wanting the Mellanox card to hold the rom image, but I need to boot of the intel card.

OK. What are the PCI vendor and device IDs for your Mellanox card (as shown by e.g. "lspci -n")?

Michael
The PCI vendor and device ID is 15b3:1003 - MT27500 Family [ ConnectX-3 ]

I think I might of actually got it to build this time and work, I had to modify the hermon driver to add the network card into it. It is now loading up just fine and showing the interfaces. Thanks, I am going play around with this more.
Now the only issue is, it showing "RXE: 1 x "Operation not supported (http://ipxe.org/3c086003)" under ifstat on the interface, but it show Link is up.

net0: mac address using x540t on 0000:01:00.0 (open)
[Link:up, TX:9 TXE:0 RX:5 RXE:1]
[RE: 1x "Operation not supported (http://ipxe.org/3c086003)"]
Reference URL's