Updating Intel X520-DA1/X520-DA2 Boot Option ROM with Intel BootUtil

This guide covers Intel X520-DA1 and X520-DA2 cards when the goal is to update the card’s boot Option ROM — the EFI/PXE preboot image stored in flash —…

This guide covers Intel X520-DA1 and X520-DA2 cards when the goal is to update the card’s boot Option ROM — the EFI/PXE preboot image stored in flash — with Intel BootUtil on Linux. This is not the same as updating the adapter’s core NVM firmware. Intel’s support documentation says that the X520 series does not have an updatable NVM firmware, while BootUtil is used to program the supported PCI Option ROM.

Important: only use a Preboot package and BootIMG.FLB that supports your exact adapter. Do not flash an X550, X710 or another family’s NVM image onto an X520. If the adapter belongs to Dell, HPE, Lenovo or another OEM server, check the OEM instructions first.

When this may help

During installation or boot configuration, X520-DA1/X520-DA2 users may see an error such as:

failed to initialize because an unsupported sfp+ module type was detected

BootUtil changes the preboot image and boot features; it does not make an unsupported SFP+ module electrically compatible. If the error is produced by the operating-system driver, switch, cable or SFP+ compatibility, updating the Option ROM may not solve it.

Step 1. Download the Preboot package

Download the Intel Ethernet Connections Boot Utility / Preboot Images package from Intel’s official Download Center. The package name and version may change, so do not rely on an old mirror. The archive should contain the BootUtil application and a file such as BootIMG.FLB.

Step 2. Extract the archive

Copy the downloaded archive to /root and create a separate directory:

cd /root
mkdir -p /root/preboot
tar -xzvf Preboot.tar.gz -C /root/preboot

If your download uses another filename, replace Preboot.tar.gz with the actual name. Before continuing, check that the extracted directory contains APPS/BootUtil/Linux_x64.

Step 3. Open BootUtil

cd /root/preboot/APPS/BootUtil/Linux_x64
chmod +x bootutil64e
./bootutil64e -?

Run the help command first and read the version. Intel’s current documentation describes BootUtil as a utility for programming the PCI Option ROM, including supported PXE and UEFI images.

Step 4. List the adapters

./bootutil64e

The utility will list detected Intel network ports. A message such as the following may appear:

Error: Connection to QV driver failed - please reinstall it!

If BootUtil still displays the adapter table, treat the message as a diagnostic warning and verify the result carefully. If no ports are listed or the selected NIC cannot be read, stop and resolve that problem first.

Example:

Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.43.36.0

Port Network Address     Location        Series  WOL Flash Firmware        Version
==== ===============     ==============  ======= === ===================== =======
1    90E2BA343A0A        00000:033:00.0  10GbE   N/A UEFI,PXE Enabled      2.4.59
2    D85ED3694B2E        00000:100:00.0  Gigabit YES FLASH Not Present
3    D85ED3694B2F        00000:100:00.1  Gigabit YES FLASH Not Present

Identify the X520 port by its location, MAC address and series. In this example, the required NIC number is:

NIC=1

Step 5. Create a restore image

BootUtil normally offers to save a restore image before programming. Always answer Y and keep the resulting .FLB file outside the extracted package and on separate storage. If the utility or OEM documentation provides a dedicated save-image option, use it before the update.

Step 6. Update the supported PXE+UEFI combo image

For a supported adapter and image, Intel documents this form:

./bootutil64e -NIC=1 -UP=combo -FILE=../BootIMG.FLB

Depending on the package layout, the image may instead be in the current directory; verify the path with ls -l. The -UP=combo option asks BootUtil to use a supported combination of PXE and EFI/UEFI. The command is not a guarantee that both features will remain: flash size, adapter support and the contents of the image determine the result.

During the operation BootUtil will ask for confirmation. Do not interrupt power, reboot the system or remove the card while flash programming is in progress.

Read the result carefully

A successful run may look like this:

Programming flash on port 1 with flash firmware image
Create restore image of NIC 1 before proceeding? (Y)es or (N)o: y
Saving flash firmware image on port 1 to file 10FB4003.FLB...saved
Flash update successful

After the update, inspect the final table. If it shows only UEFI and says that updating EFI removes PXE functionality, PXE has been removed from that Option ROM image even if -UP=combo was used. Do not describe that result as “EFI + PXE updated”; report exactly what BootUtil displays. Intel also warns that updating flash erases the existing image and that some legacy or FCoE combinations may not be preserved.

After reboot

  1. Confirm that the adapter is detected by the operating system.
  2. On Linux, check the driver and link with ethtool -i <interface> and ethtool <interface>.
  3. Verify the SFP+ module, DAC/AOC cable, switch port, speed, VLANs and bonding configuration.
  4. If the original problem remains, stop changing flash and investigate SFP+ compatibility and the OS driver instead.

Sources

Intel Ethernet Flash Firmware Utility / BootUtil guide
Intel: X520 does not have an updatable NVM firmware
Intel: How to update Intel Boot Agent