Intel® Ethernet Flash Firmware Utility
**************************************

June 10, 2025


Contents
^^^^^^^^

* Intel® Ethernet Flash Firmware Utility

  * Overview

    * Supported Operating Systems

  * Installation

  * Running the Utility

  * Command Line Options

    * General Options

    * Power Management Options

    * Adapter Flash Enable/Disable Options

    * Flash Programming Options

    * PXE Boot Configuration Options

  * Examples

  * Exit Codes


Overview
========

The Intel® Ethernet Flash Firmware Utility, or *BootUtil*, is used to
update configurations and program the PCI option ROM on the flash
memory of supported PCI- or PCI Express*-based Intel® Ethernet
adapters. BootUtil provides support for UEFI AArch64 on the ARM
architecture.

Note:

  * Legacy iSCSI Boot and CLP images are not supported and cannot be
    loaded or configured.

  * Updating the adapter's flash memory using Intel Ethernet Flash
    Firmware Utility will erase any existing firmware image from the
    flash memory.

  * If your device is flashed with a discrete FCoE firmware (no other
    Option ROMs flashed), attempts to update your device will fail.
    This is expected. The data required for FCoE functionality
    upgrades is no longer part of the latest upgrade packages. The
    update will fail and FCoE functionality will continue to work.

  * If you update a device that is flashed with an FCoE-enabled combo
    image (for example, an image that contains the EFI driver, legacy
    PXE, and FCoE boot functionality), the Option ROM combination will
    change on update, usually to the same combination without FCoE
    capabilities. This is expected. The data required for FCoE
    functionality upgrades is no longer part of the latest upgrade
    packages. The update will succeed and FCoE functionality will be
    removed from your device.

OEMs may provide custom flash firmware images for OEM network
adapters. Please refer to the instructions given by OEMs.

Intel Ethernet Flash Firmware Utility allows the user to flash
supported firmware to the adapter from the included *BootIMG.FLB*
file. This option ROM includes PXE and UEFI, and the image is
programmed to the flash memory at once. Intel Ethernet Flash Firmware
Utility will also build the required combo images for supported
adapter and program those images to the flash, as well. Since both
discrete and combo images are supported, the "-bootenable" command
ONLY works on combo images.

PXE+EFI image combinations are supported for all OEM generic adapters,
however support is limited to devices which support both technologies
as discrete images. However, flash size is a limiting factor, as the
image size can change without notice.

The *BootIMG.FLB* file is the container for all the Intel® boot Option
ROMs. This file replaces the existing FLB files for PXE and EFI.

Intel Ethernet Flash Firmware Utility without command-line options
will display a list of all supported Intel network ports in the
system. Intel Ethernet Flash Firmware Utility will also allow the user
to enable or disable the flash memory on specific ports by using
"-FLASHENABLE" or "-FLASHDISABLE" options in order to control access
to the firmware from the system.

Intel Ethernet Flash Firmware Utility allows the user to individually
set UEFI and PXE boot configurations using the "-NIC=xx
-=-<OPTION>=<VALUE>" options.

Note:

  * Intel Ethernet Flash Firmware Utility displays up to 128 adapter
    ports.

  * No configuration settings are supported for the UEFI driver.

  * "-NIC", "-MACADDR", and "-DEVID" are mutually exclusive. You
    cannot use more than one of these options per command. Specifying
    more than one option will cause Intel Ethernet Flash Firmware
    Utility to fail.

  * You cannot enable/disable 64-bit BAR addressing on Intel® Ethernet
    Controller X550 Series devices.

  * Intel Ethernet Flash Firmware Utility may indicate that a device
    is in the "Pending Reboot" state. No update or configuration
    changes are possible on a device in this state. Please reboot your
    system.

Note:

  If the tool displays the error, *Unable to load the driver. Please
  close all other applications and try again*, you have a mix of old
  and new versions of the utility tool on your system.Quit all open
  applications and retry your operation. If the issue persists:

  1. Download the latest version of the utility tools.

  2. Run the "uninstall" script to remove the old version of the tool
     driver.

  3. Run the "install" script from the downloaded tools package.

  4. Retry your operation. You may also need to download and install
     the latest Intel Ethernet driver or Intel® PROSet package for
     your device.


Supported Operating Systems
---------------------------

* Microsoft Windows Server*

* Linux* Kernel

* Red Hat* Enterprise Linux*

* SUSE* Linux Enterprise Server

* Canonical Ubuntu*

* Debian*

* openEuler* for AArch64 (only on Intel® Ethernet E810 Series)

* UEFI

* FreeBSD*

See Supported Operating Systems in the Intel(R) Ethernet Adapters and
Devices User Guide (https://cdrdv2.intel.com/v1/dl/getContent/705831)
for currently supported versions of these operating systems.


Installation
============

See Installing and Uninstalling Intel® Network Connection Tools for
installation instructions.


Running the Utility
===================

The syntax for issuing Intel Ethernet Flash Firmware Utility command-
line options is:

   bootutil -[option] or -<OPTION>=<VALUE>

Using the "/?" option will display a list of supported command line
options.

See Examples and Command Line Options below for more information.


Command Line Options
====================

Intel Ethernet Flash Firmware Utility accepts one executable option
and its associated non-executable options in an execution. If
conflicting executable options are specified, Intel Ethernet Flash
Firmware Utility exits with an error.

The options, where applicable, are listed in logical groups:

* General Options

* Power Management Options

* Adapter Flash Enable/Disable Options

* Flash Programming Options

* PXE Boot Configuration Options

Note:

  If you run Intel Ethernet Flash Firmware Utility without any
  command-line options, the utility displays a list of all supported
  Intel network ports found in the system.


General Options
---------------

-?, -HELP
   Displays a list of command-line options.

-ALL

Selects all supported network ports found in the system.

-64d
   Disables 64-bit BAR (Base Address Register) addressing on the
   selected port. This restricts the system BIOS to assigning 32-bit
   BARs to the port.

-64e
   Enables 64-bit BAR addressing on the selected port.

-BLINK

Blinks the LED on the selected port for ten seconds.

-DEVID=[Device ID]
   Selects the network port specified by "[Device ID]". "[Device ID]"
   is a 4-digit hexadecimal number, prepended by 0x.

-EXITCODES

Displays exit codes returned to the OS environment by Intel Ethernet
Flash Firmware Utility.

-E

Enumerates all supported network ports in the system.

-FILE=[FILENAME]
   Specifies the file name for "-SAVEIMAGE", "-RESTOREIMAGE",
   "-SAVECONFIG", "-RESTORECONFIG", "-UP" or "-UPDATE" options.

-IMAGEVERSION, -IV

Displays the firmware image type and version number from the specified
source. If no source is specified, displays the image type and version
number from the local *BootIMG.FLB* file. Use "-FILE" to specify a
different file. Use "-NIC" to specify a port. Use "-ALL" to display
the firmware image types and version numbers of images loaded onto all
ports in the system. If a port does not have an image loaded, or is
not an Intel® Ethernet port, the port will not be included in the
"-ALL" output.

-MACADDR=[MAC address string]
   Selects the network port specified by "[MAC address string]". [MAC
   address string] is a 12-digit number. Separators (":" or "-") are
   allowed but not required.

-NIC=XX
   Selects a specific network port in the system.

-NODPL

Prevents Intel Ethernet Flash Firmware Utility from displaying the PCI
device location.

-O=[FILENAME]
   Saves a list of all NICs and their MAC addresses to the specified
   file. Must be used with "-E".

-P

Causes Intel Ethernet Flash Firmware Utility to pause screen after
displaying every 25th line. In pause mode, the last line of the screen
will contain information that the screen has been paused and that the
user can press **Enter** to continue.


Power Management Options
------------------------

-WOLENABLE, -WOLE

Enables Wake on LAN functionality on the selected port.

-WOLDISABLE, -WOLD

Disables Wake on LAN functionality on the selected port.


Adapter Flash Enable/Disable Options
------------------------------------

-BOOTENABLE=[PXE|DISABLED]
   Selects flash firmware type to enable or disable on the selected
   port. The combo option ROM could have all capabilities. This
   command **will NOT work** on monolithic Option ROMs.

   "-BOOTENABLE=DISABLED" disables PXE functionalities for legacy
   BIOS.

   Note:

     This manual command is not applicable to the UEFI network driver.
     The UEFI network driver is enabled by default and loaded
     automatically unless network ports are already used by other
     flash firmware.

-FLASHENABLE, -FE

Enables the capability to run flash firmware on the selected adapter.

Note:

  This parameter is not supported on the following adapters:

  * Intel® Gigabit ET Quad Port Mezzanine Card

  * Intel® Ethernet X520 10GbE Dual Port KX4 Mezz

  * Intel® Ethernet X520 10GbE Dual Port KX4-KR Mezz

-FLASHDISABLE, -FD

Disables the capability to run flash firmware on the selected adapter.

Note:

  This parameter is not supported on the following adapters:

  * Intel® Gigabit ET Quad Port Mezzanine Card

  * Intel® Ethernet X520 10GbE Dual Port KX4 Mezz

  * Intel® Ethernet X520 10GbE Dual Port KX4-KR Mezz


Flash Programming Options
-------------------------

-QUIET

Runs Intel Ethernet Flash Firmware Utility without confirmation
prompts. This option is used with "-IMAGEVERSION", "-UP", "-UPDATE",
"-RESTOREIMAGE", or "-HELP" option.

-RESTOREIMAGE, -RI

Restores a previously-saved firmware image to the same network adapter
using the "-NIC" option. The source file is specified by the "-FILE"
option.

-SAVEIMAGE, -SI

Saves the existing firmware image in the flash memory of the adapter
specified by the "-NIC" option to a disk file. The destination file is
specified by the "-FILE" option.

-UP, -UPDATE=[ROMType] [-FILE=Filename]
   Updates the flash memory of the adapter specified by the "-NIC"
   option with the given FLB flash firmware image file. If "-QUIET" is
   not specified, the user is prompted to confirm overwriting the
   existing firmware image before upgrading. If a file name is not
   provided, the utility looks for the default *bootimg.FLB* file
   which contains all image types.

   The following examples use PXE, but could also be *efi* or *efi64*:

      Bootutil -Nic=x -up=pxe
      Bootutil -Nic=x -up=pxe -file=pxeimg.flb

   If your adapter supports a combo option rom, the following command
   option automatically detects the supported combo image and programs
   the adapter with that image:

      -up=combo

   "-up=combo up=pxe+efi" is valid.


PXE Boot Configuration Options
------------------------------

All of these options can be used with "-NIC" or "-ALL":

-DEFAULTCONFIG, -DEFCFG

Sets the PXE configuration of the selected device back to default
settings.

-MODE

This parameter should not be used except as advised by Intel Support
personnel.

-TITLEENABLE, -TLE

Enables Initial Title Message.

-TITLEDISABLE, -TLD

Disables Initial Title Message.


Examples
========

This section includes examples of how to enter some typical Intel
Ethernet Flash Firmware Utility command lines.

To get help descriptions:

   BootUtil -?

To enable the flash firmware on the first network adapter for the
system to be capable of executing the flash firmware:

   BootUtil -NIC=1 -FLASHENABLE

To disable the flash firmware on all the network adapters:

   BootUtil -ALL -FD

To display BootUtil FLB flash firmware types and versions:

   BootUtil -IMAGEVERSION

To update all ports of a supported device with PXE, use either of the
following:

   BootUtil -UP=PXE -ALL
   # Assumes input file is bootimg.flb

   BootUtil -UP=PXE -ALL -FILE=BOOTIMG.FLB
   # Uses an explicit user-specified file

To update a combo image on supported adapter (e.g., pxe+efi). This
command will succeed if the PXE+EFI combination is supported on NIC
#2. If not, an error is displayed to the user:

   BootUtil -UP=Combo -NIC=2 -FILE=BOOTIMG.FLB

Note:

  The "-UP" and "-UPDATE" commands are equivalent and interchangeable.

To enable PXE firmware on the third network port in the system:

   BootUtil -BOOTENABLE=PXE -NIC=3

Note:

  This command will work only if PXE is part of a combo Option ROM and
  not a discrete Option ROM.

To disable the firmware on the second network port in the system:

   BootUtil -NIC=2 -BOOTENABLE=DISABLED


Exit Codes
==========

BootUtil returns an exit code to the OS environment. Possible exit
codes are listed in the following table:

+----------------------------------------------------+----------------------------------------------------+
| Code Name                                          | Value                                              |
|====================================================|====================================================|
| 0                                                  | All Intel Ethernet Flash Firmware Utility          |
|                                                    | operations completed successfully                  |
+----------------------------------------------------+----------------------------------------------------+
| 1                                                  | Bad command-line parameter                         |
+----------------------------------------------------+----------------------------------------------------+
| 3                                                  | No supported network port detected 2 Invalid       |
|                                                    | network port selected                              |
+----------------------------------------------------+----------------------------------------------------+
| 4                                                  | FLASH operation failed                             |
+----------------------------------------------------+----------------------------------------------------+
| 5                                                  | EEPROM read operation failed                       |
+----------------------------------------------------+----------------------------------------------------+
| 6                                                  | EEPROM write operation failed                      |
+----------------------------------------------------+----------------------------------------------------+
| 7                                                  | File content is missing or corrupt                 |
+----------------------------------------------------+----------------------------------------------------+
| 8                                                  | Operator termination                               |
+----------------------------------------------------+----------------------------------------------------+
| 9                                                  | LOM not supported for selected operation           |
+----------------------------------------------------+----------------------------------------------------+
| 10                                                 | Network port is not bootable                       |
+----------------------------------------------------+----------------------------------------------------+
| 11                                                 | FLASH memory is disabled for flash firmware        |
+----------------------------------------------------+----------------------------------------------------+
| 12                                                 | FLASH memory too small for selected firmware       |
+----------------------------------------------------+----------------------------------------------------+
| 14                                                 | System memory allocation failed                    |
+----------------------------------------------------+----------------------------------------------------+
| 15                                                 | File operation failed                              |
+----------------------------------------------------+----------------------------------------------------+

Note:

  EFI versions of this tool may report an incorrect error code when no
  adapter is installed. This is due to a known limitation in the
  UDK2015 UEFI Development Kit (UDK) build environment.


Legal / Disclaimers
===================

Copyright (C) 2015 - 2025, Intel Corporation. All rights reserved.

Intel technologies may require enabled hardware, software or service
activation.

No product or component can be absolutely secure.

Your costs and results may vary.

Intel, the Intel logo, and other Intel marks are trademarks of Intel
Corporation or its subsidiaries.  Other names and brands may be
claimed as the property of others.

Performance varies by use, configuration, and other factors. Learn
more at https://www.Intel.com/PerformanceIndex.

The products described may contain design defects or errors known as
errata which may cause the product to deviate from published
specifications. Current characterized errata are available on request.

This software and the related documents are Intel copyrighted
materials, and your use of them is governed by the express license
under which they were provided to you ("License"). Unless the License
provides otherwise, you may not use, modify, copy, publish,
distribute, disclose or transmit this software or the related
documents without Intel's prior written permission.

This software and the related documents are provided as is, with no
express or implied warranties, other than those that are expressly
stated in the License.
