EFI/DOCS 0000755 0000000 0000000 00000000000 12233423502 007014 5 ustar EFI/DOCS/boot_util.htm 0000755 0000000 0000000 00000070176 12055512430 011624 0 ustar
The Intel® Ethernet Flash Firmware Utility (BootUtil) is a utility that can be used to program the PCI option ROM on the flash memory of supported Intel PCI and PCI-Express-based network adapters, and to update configurations. BootUtil replaces existing utilities and provides the functionality of the older IBAUTIL, ISCSIUTL, LANUTIL, and FLAUTIL. BootUtil supports all the adapters supported by the previous utilities.
NOTE: Updating the adapter's flash memory using BootUtil will erase any existing firmware image from the flash memory. |
Intel provides the following flash firmware in FLB file format for programming to the flash memory:
Intel® Boot Agent as PXE Option ROM for legacy BIOS
http://www.intel.com/support/network/adapter/pro100/bootagent/
Intel® iSCSI Remote Boot as iSCSI Option ROM for legacy BIOS
http://www.intel.com/support/network/iscsi/remoteboot/
Network Connectivity, UEFI network driver
http://www.intel.com/support/network/sb/cs-006120.htm
OEMs may provide custom flash firmware images for OEM network adapters. Please refer to the instructions given by OEMs.
BootUtil allows the user to flash supported firmware to the adapter from the included master FLB file. This option ROM includes PXE, iSCSI, FCoE and UEFI drivers, and the image is programmed to the flash memory at once. BootUtil will also build the required combo images for supported adapters 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 and iSCSI+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 Master FLB file (BOOTIMG.FLB) is the new container for all the Intel® Boot Option ROMs. This file replaces the existing FLB files for FCoE, iSCSI, PXE, and EFI.
NOTE: BootUtil supports older flb files to maintain backwards compatibility with the previous utilities. |
BootUtil without command-line options will display a list of all supported
Intel network ports in the system. BootUtil 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.
BootUtil allows the user to individually set iSCSI, FCoE, UEFI and PXE boot configurations
by -NIC=xx -[OPTION]=[VALUE] options. The -I option is iSCSI specific and will
not work for PXE configurations.
NOTES:
|
BootUtil is located on the software installation CD in the \APPS\BootUtil\
directory. Check the Intel Customer Support (http://support.intel.com) website
for the latest information and component updates.
The syntax for issuing BootUtil command-line options is:
BOOTUTIL -[OPTION] or -[OPTION]=[VALUE]
BootUtil accepts one executable option and its associated non-executable options in an execution. If conflicting executable options (such as -FLASHENABLE and -UPDATE used together) are supplied, BOOTUTIL exits with an error.
The options, where applicable, are listed in logical groups.
NOTE: If you run BootUtil without any command-line options, the utility displays a list of all supported Intel network ports found in the system. |
General Options |
|
---|---|
Parameter | Description |
-HELP or -? |
Displays a list of command-line options. |
-EXITCODES |
Displays exit codes returned to the OS by BootUtil. |
-IMAGEVERSION or -IV |
Displays firmware types and version numbers from a
resource image. If used with the -FILE option, the resource image is in the FLB file. If used with the -NIC option, the resource image is in the adapter flash. If used with the -ALL option, each resource image is continuously displayed for all adapters. |
-E |
Enumerates all supported network ports in the system. |
-O=[FILENAME] |
Must be used with E or NIC. If used with the -E option, saves a list of all NICs and their MAC addresses to the specified file. If used with the -NIC option, saves all iSCSI Remote Boot configuration options for the specified NIC to the specified file. |
-I=[FILENAME] |
Reads iSCSI boot configuration options from [FILENAME] script file and program settings on the selected port. |
-FILE=[FILENAME] |
Specifies the file name for -SAVEIMAGE, -RESTOREIMAGE, -SAVECONFIG or -RESTORECONFIG option. |
-P |
With this command, BootUtil pauses the
screen after displaying every 25th line. In pause mode, the last line of the screen will contain information that: - screen has been paused, and - user can press Enter to continue |
-NODPL |
With this command, BootUtil does not display the PCI device location. |
Power Management Options | |
---|---|
Parameter | Description |
-WOLDISABLE or -WOLD |
Disables Wake on Lan (WOL) functionality on the selected adapter. |
-WOLENABLE or -WOLE |
Enables Wake on Lan (WOL) functionality on the selected adapter. |
Flash Programming Options | |
---|---|
Parameter | Description |
-UP or -UPDATE=[ROMType]
|
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 Filename 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, efi64, FCoE or
iSCSI. 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=pxe+efi and up=iscsi+efi are valid. |
-SAVEIMAGE or SI |
Saves the existing flash 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. |
-RESTOREIMAGE or RI |
Restores a previously-saved flash firmware image to the same network adapter using the -NIC option. The source file is specified by the -FILE option. |
-QUIET |
Runs BootUtil without confirmation prompts. This option is used with -IMAGEVERSION, -UP, -UPDATE, -RESTOREIMAGE, or -HELP option. |
Adapter Selection Options | |
---|---|
Parameter | Description |
-ALL |
Selects all supported network ports found in the system. |
-NIC=XX |
Selects a specific network port in the system. If used without any executable option, it prints the iSCSI boot configuration of the selected port, or saves it in the file when the -O option is used. |
-TARGET=XX |
This is an FCoE-specific selection option. Legal values are 1,2,3,and 4. This option is required for configuration commands -WWPN, -FCOELUN, FCOEVLAN, and - BOOTORDER. |
-BLINK |
Blinks the LED on the selected port for ten seconds. |
Adapter Flash Enable/Disable Options | |||
---|---|---|---|
Parameter | Description | ||
-FLASHENABLE or -FE |
Enables the capability to run the flash firmware on the selected adapter. | ||
-FLASHDISABLE or -FD |
Disables the capability to run the flash firmware on the selected adapter. | ||
-BOOTENABLE=[PXE, ISCSIPRIMARY,
ISCSISECONDARY, FCOE, or DISABLED] |
Selects flash firmware type to
enable or disable on the selected port. The combo option ROM could have all
capabilities. The monolithic option ROM has either PXE, FCoE, or iSCSI
capability but not all.
This command will NOT WORK on monolithic Option ROMs.
|
PXE Boot Configuration options (can be used with -NIC or -ALL) | |
---|---|
Parameter | Description |
-DEFAULTCONFIG or -DEFCFG |
Sets the PXE configuration of the selected NIC back to default settings. |
-SETUPENABLE or -STE |
Enables Setup Menu. |
-SETUPDISABLE OR -STD |
Disables Setup Menu. |
-TITLEENABLE OR -TLE |
Enables Initial Title Message. |
-TITLEDISABLE OR -TLD |
Disables Initial Title Message. |
-MESSAGEENABLE or -MSE |
Enables display of the Control-S Setup message when PXE initializes. |
-MESSAGEDISABLE or -MSD |
Disables display of the Control-S Setup message when PXE initializes. |
-SETWAITTIME=X or -SWT=X |
Set the setup delay time for the NIC to X seconds. Valid delay times are 0, 2, 3, and 5. |
-MODE |
This parameter should not be used except as advised by Intel Support personnel. |
iSCSI Boot Configuration Options | |
---|---|
Parameter | Description |
-SAVECONFIG |
Saves a snapshot of iSCSI boot configurations
on the selected port to a binary file. Need to specify the file name by
the -FILE option. WARNING: For security reasons it is recommended that CHAP settings are disabled when using this option. |
-RESTORECONFIG |
Restores previously-saved iSCSI boot
configuration snapshot on the selected port. Need the -FILE option
to specify the saved data. WARNING: This feature may create multiple primary or secondary ports if the same command is issued to multiple ports. Review the boot priority setting in the iSCSI setup menu for the next system boot. |
Port Configuration Options for iSCSI Initiator | These options can either be used
individually with the -NIC=XX option, or in a script file with the -I
option. The value is specified in -[OPTION]=[VALUE] format. |
---|---|
-[OPTION]=[VALUE] | Description |
-INITIATORNAME |
Specifies the iSCSI Qualified Name (IQN) for the initiator. |
-INITIATORIP |
Specifies the initiator IPv4 address in dotted decimal notation. |
-INITIATORDHCP |
Enable or disable to get initiator configuration from DHCP. |
-NETMASK |
Specifies the initiator subnet mask in dotted decimal notation. |
-GATEWAY |
Specifies the gateway IPv4 address in dotted decimal notation. |
-BOOTPRIORITY |
Specifies iSCSI boot priority as PRIMARY, SECONDARY or DISABLE. |
iSCSI Target Configuration Options |
These options can either
be used individually with the -NIC=XX option, or in a script file with the -I
option. The value is specified in -[OPTION]=[VALUE] format. |
-[OPTION]=[VALUE] |
Description |
-TARGETNAME |
Specifies the iSCSI Qualified Name (IQN) for the target. |
-TARGETIP |
Specifies the target IPv4 address in dotted decimal notation. |
-TARGETDHCP |
Enable or Disable to get the target information from DHCP Root Path. |
-TARGETPORT |
Specifies the TCP port number on the target to connect to. |
-BOOTLUN |
Specifies the LUN number to boot from. |
Authentication Configuration Options |
These options can either be
used individually with the -NIC=XX option, or in a script file with the -I
option. The value is specified in -[OPTION]=[VALUE] format. |
-[OPTION]=[VALUE] |
Description |
-AUTHENTICATIONMETHOD |
Specifies either NONE, CHAP or MutualCHAP |
-CHAPUSERNAME |
Specifies CHAP user name. |
-CHAPSECRET |
Specifies a secret text string to go with the CHAP user name. Secret must be 12 to 16 characters long. |
-MUTUALCHAPSECRET |
Specifies the reverse (target) CHAP secret text string. Secret must be 12 to 16 characters long. |
FCoE General Configuration Options |
These options have to be used with the -NIC=XX option. They cannot be used with the -ALL option. |
-WWPNPREFIX |
Specifies the Prefix to use
for the WWPN. The prefix comprises of 4 hex digits. Separators '-' or ':' are
allowed but optional. eg: BOOTUTIL -NIC=1 -WWPNPREFIX=20-00 |
-WWNNPREFIX |
Specifies the Prefix to use
for the WWNN. The prefix comprises of 4 hex digits. Separators '-' or ':' are
allowed but optional. eg: BOOTUTIL -NIC=1 -WWNNPREFIX=10-00 |
FCoE Target Configuration Options |
These Options require the use of both the -NIC=XX Option AND the -TARGET=XX Option. The -ALL option is not allowed. |
-WWPN |
Specifies the WWPN for the
selected Target. The WWPN consists of 16 HEX digits or 8 bytes. Each byte can be
separated with '-' or ':' as an optional separator. eg: BOOTUTIL -NIC=1 -TARGET=1 -WWPN=00-11-22-33-44-55-66-77 |
-FCOELUN |
Specifies the LUN for the selected FCoE Target. Valid range is 0..255. |
-FCOEVLAN |
Specifies the VLAN to use in order to connect to the selected target. Valid range is 0..4094. |
-BOOTORDER |
Specifies the boot order for
the selected target. Valid range is 1-4. If 0 is specified then this target will
be excluded from the boot order. Boot order values of 1-4 can only be assigned
once to target(s) across all FCoE boot-enabled ports. NOTE: These commands can all be used on the same command line to configure an entire target in one shot. eg: BOOTUTIL -NIC=1 -TARGET=2 -WWPN=0011223344556677 -FCOELUN=0 -FCOEVLAN=1 -BOOTORDER=2 |
The CHAP Authentication feature of this product requires the following
acknowledgements:
This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).
This product includes software written by Tim Hudson (tjh@cryptsoft.com)
This product includes software developed by the OpenSSL Project for use in the
OpenSSL Toolkit. (http://www.openssl.org/)
The following examples show how to enter some typical BootUtil command lines:
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 NIC with PXE.
1. BootUtil -UP=PXE -ALL (Assumes input file is bootimg.flb)
2. Bootutil -UP=PXE -ALL -FILE=BOOTIMG.FLB (explicit user specified file)
To update a combo image on supported adapter (eg, pxe+iscsi).
Bootutil -UP=Combo -NIC=2 -FILE=BOOTIMG.FLB
The above command will succeed if the PXE+ISCSI combination is supported on NIC #2. If not an error is displayed to the user.
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
To get help descriptions.
BootUtil -?
To enable DHCP for the iSCSI initiator on all the network ports in the system.
BootUtil -INITIATORDHCP=ENABLE -ALL
To load the iSCSI boot configurations from a text script file to the first network port.
BootUtil -I=CONFIG.TXT -NIC=1
BootUtil returns exit codes to the OS environment. Possible exit codes are listed below:
Code Name | Value |
---|---|
All BootUtil operations completed successfully | 0 |
Bad command line parameter | 1 |
No supported network port detected | 2 |
Invalid network port selected | 3 |
FLASH operation failed | 4 |
EEPROM read operation failed | 5 |
EEPROM write operation failed | 6 |
File content is missing or corrupt | 7 |
Operator termination | 8 |
LOM not supported for selected operation | 9 |
Network port is not bootable | 10 |
FLASH memory is disabled for flash firmware | 11 |
FLASH memory too small for selected firmware | 12 |
Programming iSCSI boot configurations failed | 13 |
System memory allocation failed | 14 |
File operation failed | 15 |
FCoE operation failed | 16 |
Last modified on 9/20/11 10:51a Revision
Supported UEFI Implementations
Intel UEFI Network Driver Naming Convention
Installing the UEFI Network Driver Option ROM Using PROset
Installing the UEFI Network Driver Option ROM From the UEFI Shell
Configuring UEFI Network Stack for PXE
Configuring UEFI Network Stack for TCP/UDP/MTFTP
Unloading the UEFI Network Driver
The UEFI network driver for Intel® Ethernet Network Connection enables network connectivity under UEFI. It can be used in conjunction with UEFI software components available from other sources to perform network functions in the UEFI environment. Intel's UEFI network driver supports Intel's FLB3 file format. This format extends the header information in the FLB file, enabling more than 16 image types, including a combined Option ROM and NVM image.
NOTE: If you update your adapter's NVM image, you must completly power cycle your system, including removing main power, for the update to take affect. |
The UEFI network driver supports UEFI platforms based on the following UEFI/EFI specifications:
UEFI driver binaries are provided for 64-bit (x86-64), and Itanium processor family platforms.
The network driver version, UEFI platform type, and the network hardware
support can be determined by the file naming convention. The format of the
driver filename is listed below:
Exyzztn.efi
where:
x - major version number of the UEFI driver in decimal
y - minor version number of the UEFI driver in decimal
zz - fix field of the version number
t - the type of driverX - UEFI x64 driver
I - UEFI Itanium drivern - class of adapter the driver is for
2 PCI/PCI-X Gigabit
3 PCI-E Gigabit
4 - 10 Gigabit
Examples:
E3603X3.efi - Version 3.6.03 of UEFI x64 driver for Intel PCI-E Gigabit network connection
E1001I4.efi - Version 1.0.01 of UEFI Itanium driver for Intel 10GBE network connection
The network driver can be loaded using the UEFI shell "load" command:
load e3040e2.efi
NOTE: Long initialization times observed with Intels UEFI driver are caused when the UNDI.Initialize command is called with the PXE_OPFLAGS_INITIALIZE_CABLE_DETECT flag set. In this case, UNDI.Initialize will try to detect the link state. If the port is connected and link is up, initialize will generally finish in about 3.5 seconds (the time needed to establish link, dependant on link conditions, link speed and controller type) and returns PXE_STATFLAGS_COMMAND_COMPLETE. If the port is disconnected (link is down), initialize will complete in about 5 seconds and return PXE_STATFLAGS_INIIALIZED_NO_MEDIA (driver initializes hardware then waits for link and timeouts when link is not establish in 5 secs). When UNDI.Initialize is called with PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE the function will not try to detect link status and will take less than 1 second to complete. The behavior of UNDI.Initialize is described in UEFI specs 2.3.1: Initializing the network device will take up to four seconds for most network devices and in some extreme cases (usually poor cables) up to twenty seconds. Control will not be returned to the caller and the COMMAND_COMPLETE status flag will not be set until the adapter is ready to transmit. |
Intel® PROSet for Windows Device Manager can install the UEFI network driver on an Intel network adapter's option ROM. The UEFI network driver will load automatically during system UEFI boot When installed in the option ROM. UEFI specific*.FLB images are included on the CD release media. The "Boot Options" tab in Intel® PROSet for Windows Device Manager will allow the UEFI*.FLB image to be installed on the network adapter.
The following FLB files are included on the release media:
BAxyzzX2.flb - Version x.y.zz of the PCI/PCI-X gigabit driver for x86-64
BAxyzzI2.flb - Version x.y.zz of the PCI/PCI-X gigabit driver for Itanium
BAxyzzX3.flb - Version x.y.zz of the PCI-E gigabit driver for x86-64
BAxyzzI3.flb - Version x.y.zz of the PCI-E gigabit driver for Itanium
BAxyzzX4.flb - Version x.y.zz of the 10-gigabit driver for x86-64
BAxyzzI4.flb - Version x.y.zz of the 10-gigabit driver for Itanium
Intel® PROSet for Windows Device Manager can only be used to program add-in Intel PCI, PCI-X, and PCI-E network adapters. LOM (LAN On Motherboard) network connections cannot be programmed with the UEFI network driver option ROM. Refer to the PROSet documentation for detailed instructions.
The BootUtil command line utility can install the UEFI network driver on an Intel network adapter's option ROM. The UEFI network driver will load automatically during system UEFI boot When installed into the option ROM. Run BootUtil with the following command line options to install the UEFI network driver on all supported Intel network adapters:
For x64 systems:
FS0:\>bootutil64e up=efi all
For ia64 systems:
FS0:\>bootutil64 up=efi64 all
BootUtil can only be used to program add-in Intel PCI, PCI-X, and PCI-E network adapters. LOM (LAN On Motherboard) network connections cannot be programmed with the UEFI network driver option ROM.
As of UEFI 2.1 there are two network stack configurations under UEFI. The most common configuration is the PXE based network stack. The alternate network stack provides IPv4 TCP, UDP, and MTFTP network protocol support. As of UEFI 2.1 the PXE and IP-based network stacks cannot be loaded or operate simultaneously. The following two sections describe each UEFI network stack configuration.
Reference implementations of the PXE and IP based network stack source code are available for download at www.tianocore.org.
The PXE (Preboot eXecution Environment) based UEFI network stack provides support for UEFI network boot loaders downloaded from a WFM compliant PXE server. Services which can be enabled include Windows 2008 Deployment Services (WDS), Windows 2003 Server Remote Installation Service (Itanium only), Linux network installation (Elilo), and TFTP file transfers. To enable UEFI PXE services the following network protocol drivers must be loaded with: snp.efi, bc.efi, and pxedhcp4.efi. These drivers can be loaded from the UEFI "load" shell command, but are often included as part of the UEFI system firmware. The UEFI shell command "drivers" can be used to determine if the UEFI PXE drivers are included in the UEFI implementation. The drivers command will output a table listing drivers loaded in the system. The following entries must be present in order to network boot a UEFI system over PXE:
DRV | VERSION | TYPE | CFG | DIAG | #D | #C | DRIVER NAME | IMAGE NAME |
F5 | 00000010 | D | - | - | 2 | - | Simple Network Protocol Driver | SNP |
F7 | 00000010 | D | - | - | 2 | - | PXE Base Code Driver | BC |
F9 | 00000010 | D | - | - | 2 | - | PXE DHCPv4 Driver | PxeDhcp4 |
FA | 03004000 | B | X | X | 2 | 2 | Intel(R) Network Connection 3.0.00 | /e3000e2.efi |
A network boot option will appear in the boot options menu when the UEFI PXE
network stack and Intel UEFI network driver have been loaded. Selecting this
boot option will initiate a PXE network boot.
An IP-based network stack is available to applications requiring IP-based network protocols such as TCP, UDP, or MTFTP. The following UEFI network drivers must be built into the UEFI platform implementation to enable this stack: SNP (Simple Network Protocol), MNP (Managed Network Protocol), ARP, DHCP4, IPv4, ip4config, TCPv4, UDPv4, and MTFTPv4. These drivers will show up in the UEFI "drivers" command output if they are included in the platform UEFI implementation:
DRV | VERSION | TYPE | CFG | DIAG | #D | #C | DRIVER NAME | IMAGE NAME |
F5 | 00000010 | D | - | - | 2 | - | IP4 CONFIG Network Service Driver | Ip4Config |
F7 | 00000010 | D | - | - | 2 | - | Simple Network Protocol Driver | SNP |
F8 | 00000010 | D | - | - | 2 | - | ARP Network Service Driver | Arp |
F9 | 00000010 | D | - | - | 2 | - | Tcp Network Service Driver | Tcp4 |
FA | 00000010 | D | - | - | 2 | - | IP4 Network Service Driver | Ip4 |
FB | 00000010 | D | - | - | 2 | - | DHCP Protocol Driver | Dhcp4 |
FC | 00000010 | D | - | - | 6 | - | UDP Network Service Driver | Udp4 |
FD | 00000010 | D | - | - | 2 | - | MTFTP4 Network Service | Mtftp4 |
FE | 00000010 | B | - | - | 2 | 6 | MNP Network Service Driver | /mnp.efi |
FF | 03099900 | B | X | X | 2 | 2 | Intel(R) Network Connection 3.0.00 | /e3000e2.efi |
The ifconfig UEFI shell command must be used to configure each network interface. Running "ifconfig -?" from the UEFI shell will display usage instructions for ifconfig.
To unload a network driver from memory the UEFI "unload" command is used. The syntax for using the unload command is as follows: "unload [driver handle]", where driver handle is the number assigned to the driver in the far left column of the "drivers" output screen.
The UEFI network driver supports forced speed and duplex capability. The force speed and duplex menu can be accessed with UEFI shell command "drvcfg":
drvcfg -s [driver handle] [control handle]
The following speed and duplex configurations can be selected:
Autonegotiate (recommended)
100 Mbps, full duplex
100 Mbps, half duplex
10 Mbps, full duplex
10 Mbps, half duplex
The speed and duplex setting selected must match the speed and duplex setting of the connecting network port. A speed and duplex mismatch between ports will result in dropped packets and poor network performance. It is recommended to set all ports on a network to autonegotiate. Connected ports must be set to autonegotiate in order to establish a 1 gigabit per second connection.
Fiber-optic and 10 gigabit ethernet adapters do not support forced speed and duplex.
The UEFI network driver features built in hardware diagnostic tests. The diagnotic tests are called with the UEFI shell drvdiag command.
"drvdiag -s" -Perform a basic hardware register test
"drvdiag -e" -Perform an internal loopback transmit and receive test
Last modified on 9/26/11 1:35p 10/22/04 9:45a