Intel Boot Agent BIOS image utility - IBABUILD



IBABuild 通常在DOS下运行,当然也可以在windows命令行下运行。一般我们用它来生成一个LOM文件,以便整合到BIOS中;当然如果网卡上有Boot ROM芯片,也可以用它来直接将LOM文件刷写到芯片,不过这个时候就不能在windows命令行运行IBABuild,只能在纯DOS下运行。


主板:我司G31防火墙主板,板载6Intel 82574L 千兆网络芯片

(1) 生成LOM文件命令(在windows命令窗口下):




(2) BIOS代码中加入支持网络启动的模块 NETWORK BOOT

   加入后模块所在目录 /BSP/EM/NETBOOT

(3) 打开SB.SDL文件,找到以下程序片段



       Title  = "LAN Controller"

       Bus  = 01h

       Dev  = 08h

       Fun  = 00h

       ROMFile  = "BSP/ADDONS/ich_nic.bin"

       DeviceID  = 01066h

       VendorID  = 08086h

       IntA =     LNKE; 20

       Disable = Yes

       DeviceType = OnBoard

       PCIBusSize = 32bit

       OptionROM = Yes

       CompressedROM = Yes



将其更改成以实际所使用网络芯片对应的ROMFile, DeviceID, VendorID,以下是更改后的。注意:

<1> 82574LDeviceID  = 010D3h

<2> ROMFile  = "BSP/ADDONS/ich_nic.bin" 这里用于指定网卡启动ROM文件的路径,我们实际使用的ROM文件是由第(1)步用IBABUILD工具生成的,文件名是BA1353L2.LOM,所以这里要先将BA1353L2.LOM文件复制到 BSP/ADDONS/ 目录下,然后将路径改为ROMFile  = "BSP/ADDONS/BA1353L2.LOM"

<3> Disable = Yes 这一句要去掉。





       Title  = "LAN Controller"

       Bus  = 01h

       Dev  = 08h

       Fun  = 00h

       ROMFile  = "BSP/ADDONS/ BA1353L2.LOM "

       DeviceID  = 010D3h

       VendorID  = 08086h

       IntA =     LNKE; 20


       DeviceType = OnBoard

       PCIBusSize = 32bit

       OptionROM = Yes

       CompressedROM = Yes



(4) Build


以下是IBABuild 的帮助文档


IBABuild is a flash programming and image distribution tool.  It is designed
for engineering, test, and OEM use only.

IBABuild is not an end-user program.

IBABuild can create Intel Boot Agent ROM images with various combinations of
the following components:
- Base Code (BC) - contains the PXE API and support code.  This also includes
  the IP stack that uses the UNDI driver for booting.
- Setup Menu - the Ctrl-S screen, plus routines to read the adapter EEPROM and
  determine configuration.
- UNDI driver - the network driver for the card (refers to 16-bit UNDI only).

Split ROM implementation is supported, as are LOM images.

IBABuild is generally used to create ROM image files, which can be integrated
into a BIOS, or programmed into an adapter's flash.  As a convenience,
IBABuild can also program an image directly to flash at runtime.

IBABuild can also generate Intel HEX format image files for use with flash
programming tools.

IBABuild is a DOS executable that can run under Microsoft Windows.  However,
the flash programming feature will not work under Windows.  The system must
be booted to a MS-DOS prompt in order to program flash.  All other operations
are supported under Windows.

IBABuild is not an end-user program!  It does not duplicate any of the
configuration parameters that IBAUtil supports and thus cannot be used
to control and configure Intel Boot Agent.  It is simply designed to
create ROM images.



    IBABuild [-option, -option]...


If IBABuild is run under DOS without any command line options, it displays a
listing of all of the Intel Network adapters found in the system.

If IBABuild is run under Windows without any command line options, it displays
a copyright and version message, but performs no other options.


   -HELP or -?
        Displays command line help and exits.  When -HELP is used, all other
        parameters are ignored.

        Displays exit code help.  When -EXITCODES is used, all other parameters
        are ignored.

        Displays the image versions stored within the utility. When
        -IMAGEVERSION is used, all other parameters are ignored.

NOTE: The precedence of these parameters is as listed above.  If two or more
of the above parameters are specified, the first one in the list is used and
the others are ignored.


        Selects all adapters found in system for use with flash programming.

        Selects a specific adapter for use with flash programming.  XX is the
        adapter number, from 1 to 40.

        NOTE: Flash programming is not supported under Windows.

        Selects the output format of the image.  If this parameter is present,
        then the image is written to a disk file in the current directory. The
        name of the disk file is determined by IBABuild using the file naming
        conventions described below.

NOTE:  Only one of the above three parameters is allowed at any time. 
Use of two or more of these parameters in any combination is a fatal error.


        Specifies which device IDs are to be included in the output image. This
        parameter is required if IBABuild is writing to an output file.  If the
        file type is .NIC, .LOM, or .HEX, one and only one device ID must be
        specified. If the file type is .FLB, one to 16 device IDs may be

        Specifies which pieces of Intel Boot Agent should be included in the
        image. One or more of the listed options must be included.  Some
        combinations are illegal or nonsensical and will generate errors.


        Updates the flash on the specified NIC with the specified file.  No
        image is built and no processing of the input file is performed, unless
        the input file is an FLB file.  In this case, the file will be
        validated for use with the specified adapter and the device ID of the
        adapter will be inserted into the image as it is programmed.  This
        parameter must be used with -NIC or -ALL. This parameter may not be
        used with any of the image creation options or with the -OF option.

        NOTE: the -UPDATE parameter is not supported under Windows.

IBABuild is generally used in three different scenarios:

   - To create an image file or files to be programmed into flash, either as
     part of the NIC manufacturing process, or as part of the BIOS programming
     process for LOMs.
   - To create and program an image directly into a NIC.
   - To program an arbitrary image file into a NIC.

While it is possible (and perhaps even probable) that IBABuild will be used
in other ways, these three scenarios capture the vast majority of IBABuild

A few examples of each scenario are given in this section.  These examples
are not intended to be comprehensive and will not cover every possible
combination of IBABuild parameters.  They are simply intended to illustrate
how the various parameters are used.

To create an image file containing SETUP, UNDI, and BC for use in a NIC based
on the 82540EM Ethernet controller:


The output of this command is the file name BA????L2.NIC, where ???? is the
Intel Boot Agent version number for Gigabit adapters.

To create a minimum-size split ROM implementation for a LOM implementation of
the 82551QM Fast Ethernet controller:


These commands will create two files:  BA????BC.LOM and Ba????X2.LOM,
where ???? is the Intel Boot Agent version number for Fast Ethernet adapters.

To program an UNDI/SETUP/BC image into all NICs in the system:


To program the file FOO.FLB into a NIC:



The FLB file format allows up to 16 supported device IDs to be included in
the FLB file header structure. In order to support more than 16 device IDs,
Windows PROSet allows FLB images to be concatenated together.  This is
accomplished by using IBABuild to generate two FLB images with support for
up to 16 devices each, and then concatenating the FLBs together using the
"copy" command as follows:

        ibabuild -of=FLB -image=bc,undi,setup -devid=1008,1009,100C,100E
        ren ba*l2.flb bal2-1.flb
        ibabuild -of=FLB -image=bc,undi,setup -devid=107C,108A
        ren ba*l2.flb bal2-2.flb
        copy /b bal2-1.flb+bal2-2.flb ba1226l2.flb


The following rules are used to determine if a flash image is valid:

- SETUP may not be in an image alone.

- BC may be put in a LOM image alone.  (This is a split image.)

- UNDI may be put in a LOM image without BC.  (This is the other half of a
  split image.)

- Unless it is completely alone in a .LOM (split) image, BC must always be
  accompanied by UNDI.

- If the image is .NIC, .FLB, or .HEX, and UNDI is present, BC must be present.


In order to be able to easily identify various versions of the boot agent for
different adapters, the flash image file name contains information about its
contents. The file name has the following format:


where:  x   is the major version number of the agent in decimal
        y   is the minor version number of the agent in decimal
       zz   is the build number of the agent in decimal
        t   is the type of image
        n   is the adapter family the image supports
      eee   is the type of image file
Image types: 
        L  - Monolithic PXE (UNDI+BC) with setup menu
        Q  - Monolithic PXE (UNDI+BC) without setup menu
        T  - Split PXE UNDI driver with setup menu. LOM only.
        X  - Split PXE UNDI driver without setup menu. LOM only.
        BC - Split PXE Base Code image.  No family is specified.  LOM only.

Adapter families:
        1 - Fast Ethernet
        2 - Gigabit
        4 - 10 Gigabit

Image type extensions:
        FLB - Flash Library file supporting multiple NICs
        NIC - Image file for use with a NIC
        LOM - Image file for use with a LOM
        HEX - Image file (NIC format) for use with flash programming tools

For example, build 18 of version 1.2 of the monolithic PRO/1000 adapter boot
agent would be named BA1218L2.FLB.

---End of IBABUILD.TXT---




  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他