Post Reply 
 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[SOLVED] Problem Flashing with BOOTUTILW64E [FLB File]
2015-07-14, 18:46 (This post was last modified: 2015-07-14 19:46 by jrsmile.)
Post: #5
RE: Problem Flashing with BOOTUTILW64E
ok then i start to figure it out.
the new FLB format is a container which can include more then one image.
i saved one directly from the card and compared it to the one which comes with the bootutil:

update-container:
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  46 4C 42 33 97 00 00 00 2C A0 10 00 00 86 80 43  FLB3—..., ...†€C
00000010  6F 6D 62 6F 20 52 75 6C 65 73 00 00 00 00 00 00  ombo Rules......
00000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03  ................
00000060  61 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  a...............
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000090  00 00 00 00 00 00 00 86 80 FB 10 86 80 77 35 73  .......†€û.†€w5s
000000A0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000000B0  00 00 00 00 00 00 00 86 80 14 15 86 80 0B 00 7B  .......†€..†€..{
000000C0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000000D0  00 00 00 00 00 00 00 86 80 F8 10 86 80 0C 00 7B  .......†€ø.†€..{
000000E0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000000F0  00 00 00 00 00 00 00 86 80 0D 15 86 80 0C A1 5B  .......†€..†€.¡[
00000100  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
00000110  00 00 00 00 00 00 00 86 80 FB 10 86 80 11 7A 7B  .......†€û.†€.z{
00000120  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
00000130  00 00 00 00 00 00 00 86 80 FB 10 28 10 72 1F 7B  .......†€û.(.r.{
00000140  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000150  00 00 00 00 00 00 00 86 80 FB 10 28 10 EE 06 7B  .......†€û.(.î.{
00000160  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000170  00 00 00 00 00 00 00 86 80 C9 10 86 80 4C A0 5B  .......†€É.†€L [
00000180  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
00000190  00 00 00 00 00 00 00 86 80 E8 10 86 80 2C A0 5B  .......†€è.†€, [
000001A0  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
000001B0  00 00 00 00 00 00 00 86 80 1C 15 86 80 3C A0 5B  .......†€..†€< [
000001C0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000001D0  00 00 00 00 00 00 00 86 80 4D 15 86 80 11 7B 7B  .......†€M.†€.{{
000001E0  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
000001F0  00 00 00 00 00 00 00 86 80 F8 10 28 10 63 1F 7B  .......†€ø.(.c.{
00000200  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000210  00 00 00 00 00 00 00 86 80 21 15 86 80 02 50 5B  .......†€!.†€.P[
00000220  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000230  00 00 00 00 00 00 00 86 80 21 15 86 80 01 50 5B  .......†€!.†€.P[
00000240  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000250  00 00 00 00 00 00 00 86 80 23 15 86 80 52 1F 5B  .......†€#.†€R.[
00000260  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000270  00 00 00 00 00 00 00 86 80 21 15 28 10 60 1F 5B  .......†€!.(.`.[
00000280  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
00000290  00 00 00 00 00 00 00 86 80 21 15 28 10 62 1F 5B  .......†€!.(.b.[
000002A0  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
000002B0  00 00 00 00 00 00 00 86 80 21 15 28 10 CF 04 5B  .......†€!.(.Ï.[
000002C0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000002D0  00 00 00 00 00 00 00 86 80 21 15 28 10 73 1F 5B  .......†€!.(.s.[
000002E0  00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 00  ................
000002F0  00 00 00 00 00 00 00 86 80 28 15 28 10 61 1F 7B  .......†€(.(.a.{

rom-save-image:
Code:
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  46 4C 42 33 97 00 00 00 00 40 00 00 00 86 80 43  FLB3—....@...†€C
00000010  6F 6D 62 6F 20 52 75 6C 65 73 00 00 00 00 00 00  ombo Rules......
00000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000060  00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  ................
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000090  00 00 00 00 00 00 00 86 80 D3 10 86 80 1F A0 03  .......†€Ó.†€. .
000000A0  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00  ................
000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000D0  00 00 00 00 00 00 00 46 4C 42 33 A3 00 00 00 B1  .......FLB3£...±
000000E0  00 E8 00 00 86 80 50 58 45 00 00 00 00 00 00 00  .è..†€PXE.......
000000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000130  00 00 00 00 00 00 01 03 15 00 03 00 00 00 00 00  ................
00000140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000160  00 00 86 80 D3 10 86 80 1F A0 00 00 00 00 00 00  ..†€Ó.†€. ......
00000170  00 00 00 00 00 00 00 00 00 00 55 AA 1C E8 15 33  ..........Uª.è.3
00000180  CB 6D 26 03 00 00 00 00 00 00 00 00 00 00 00 00  Ëm&.............
00000190  20 00 40 00 60 00 10 01 34 01 55 4E 44 49 16 69   .@.`...4.UNDI.i
000001A0  00 00 01 02 E6 0B 00 08 90 63 F0 44 50 43 49 52  ....æ....cðDPCIR
000001B0  00 00 00 00 00 00 00 00 00 00 50 43 49 52 86 80  ..........PCIR†€
000001C0  D3 10 9E 20 1C 00 03 00 00 02 74 00 01 02 00 80  Ó.ž ......t....€
000001D0  08 00 00 00 00 00 8D 64 24 00 24 50 6E 50 01 02  .......d$.$PnP..
000001E0  00 00 00 42 00 00 00 00 9B 00 BC 00 02 00 00 E4  ...B....›.¼....ä
000001F0  00 00 00 00 41 0B 00 00 00 00 0D 0A 43 6F 70 79  ....A.......Copy
00000200  72 69 67 68 74 20 28 43 29 20 31 39 39 37 2D 32  right (C) 1997-2
00000210  30 30 38 2C 20 49 6E 74 65 6C 20 43 6F 72 70 6F  008, Intel Corpo
00000220  72 61 74 69 6F 6E 00 0D 0A 49 6E 69 74 69 61 6C  ration...Initial
00000230  69 7A 69 6E 67 20 49 6E 74 65 6C 28 52 29 20 42  izing Intel(R) B
00000240  6F 6F 74 20 41 67 65 6E 74 20 47 45 20 76 31 2E  oot Agent GE v1.
00000250  33 2E 32 31 00 49 42 41 20 47 45 20 53 6C 6F 74  3.21.IBA GE Slot
00000260  20 30 30 30 30 20 76 31 33 32 31 00 50 58 45 20   0000 v1321.PXE
00000270  32 2E 31 20 42 75 69 6C 64 20 30 38 36 20 28 57  2.1 Build 086 (W
00000280  66 4D 20 32 2E 30 29 0D 0A 00 52 50 4C 21 00 00  fM 2.0)...RPL!..
00000290  00 00 00 00 00 00 00 00 00 90 00 00 42 58 44 58  ............BXDX
000002A0  45 53 44 49 54 53 41 46 01 00 F2 E6 00 F0 01 03  ESDITSAF..òæ.ð..
000002B0  15 02 01 56 02 00 00 00 B4 00 CD 16 0A C0 74 02  ...V....´.Í..Àt.
000002C0  32 E4 C3 B4 01 CD 16 75 02 33 C0 0A C0 74 02 32  2äô.Í.u.3À.Àt.2
000002D0  E4 0B C0 C3 55 8B EC 66 60 8A 46 04 BB 07 00 B9  ä.ÀÃU‹ìf`ŠF.»..¹
000002E0  01 00 B4 0E CD 10 66 61 90 5D C2 02 00 6A 20 E8  ..´.Í.fa.]Â..j è
000002F0  E2 FF C3 6A 0D E8 DC FF 6A 0A E8 D7 FF C3 55 8B  âÿÃj.èÜÿj.è×ÿÃU‹

ipxe-rom:
Code:
00000000  55 AA 7A E9 9F 00 69 00 00 00 00 00 00 00 00 00  UªzéŸ.i.........
00000010  99 00 00 00 00 00 83 00 1C 00 40 00 50 43 49 52  ™.....ƒ...@.PCIR
00000020  86 80 D3 10 AF 04 1C 00 03 02 00 00 7A 00 01 00  †€Ó.¯.......z...
00000030  00 80 7A 00 00 00 00 00 8D B4 00 00 8D BD 00 00  .€z......´...½..
00000040  24 50 6E 50 01 02 00 00 00 A1 00 00 00 00 60 00  $PnP.....¡....`.
00000050  70 00 02 00 00 F4 00 00 00 00 61 03 00 00 00 00  p....ô....a.....
00000060  68 74 74 70 3A 2F 2F 69 70 78 65 2E 6F 72 67 00  http://ipxe.org.
00000070  69 50 58 45 00 28 50 43 49 20 78 78 3A 78 78 2E  iPXE.(PCI xx:xx.
00000080  78 29 00 55 4E 44 49 16 68 00 00 01 02 80 04 C8  x).UNDI.h....€.È
00000090  2C C8 2C AE 07 50 43 49 52 69 50 58 45 0C AA 07  ,È,®.PCIRiPXE.ª.
000000A0  00 81 B1 1B A0 60 1E 06 0F A0 0F A8 FC 0E 1F BE  ..±. `... .¨ü..¾
000000B0  03 03 31 FF E8 3F 04 8E EB 31 FF E8 30 04 A3 55  ..1ÿè?.Žë1ÿè0.£U
000000C0  03 E8 67 04 BF 7A 00 E8 61 04 C6 06 74 00 20 31  .èg.¿z.èa.Æ.t. 1
000000D0  FF E8 1A 04 8C C8 E8 35 04 66 53 66 52 66 57 F9  ÿè..ŒÈè5.fSfRfWù
000000E0  B8 01 B1 CD 1A 72 56 66 81 FA 50 43 49 20 75 4D  ¸.±Í.rVf.úPCI uM
000000F0  84 E4 75 49 BE 1C 03 31 FF E8 FA 03 88 F8 E8 1D  „äuI¾..1ÿèú.ˆøè.
00000100  04 B0 2E E8 C9 03 88 D8 E8 0A 04 80 FF 03 72 2D  .°.èÉ.ˆØè..€ÿ.r-
00000110  8C E8 3D 00 A0 72 1C 8C CB 39 D8 74 23 0F B6 0E  Œè=. r.ŒË9Øt#.¶.
00000120  02 00 C1 E1 05 01 CB 39 D8 73 15 8C CB 01 C8 39  ..Áá..Ë9Øs.ŒË.È9
00000130  D8 76 0D B0 21 E8 97 03 8C E8 E8 D1 03 0E 0F A9  Øv.°!è—.ŒèèÑ...©
00000140  66 5F 66 5A 66 5B BB FF EF 43 74 2A 8E C3 26 66  f_fZf[»ÿïCt*ŽÃ&f
00000150  81 3E 00 00 24 50 6E 50 75 EF 31 D2 31 F6 26 0F  .>..$PnPuï1Ò1ö&.
00000160  B6 0E 05 00 26 AC 00 C2 E2 FA 75 DD BE 21 03 31  ¶...&¬.Ââúuݾ!.1
00000170  FF E8 82 03 EB 00 BB FF DF 43 0F 84 9F 00 8E C3  ÿè‚.ë.»ÿßC.„Ÿ.ŽÃ
00000180  26 66 81 3E 00 00 24 50 4D 4D 75 ED 31 D2 31 F6  &f.>..$PMMuí1Ò1ö
00000190  26 0F B6 0E 05 00 26 AC 00 C2 E2 FA 75 DB BE 26  &.¶...&¬.ÂâúuÛ¾&
000001A0  03 31 FF E8 50 03 66 60 66 0F B6 0E 02 00 03 0E  .1ÿèP.f`f.¶.....
000001B0  5B 03 83 C1 07 83 E1 F8 66 C1 E1 05 66 BB 00 10  [.ƒÁ.ƒáøfÁá.f»..
000001C0  AE 18 BD EA 02 E8 CE 00 66 89 36 57 03 74 20 06  ®.½ê.èÎ.f‰6W.t .
000001D0  31 C0 8E C0 66 89 F7 66 31 F6 66 0F B6 0E 02 00  1ÀŽÀf‰÷f1öf.¶...
000001E0  66 C1 E1 07 67 66 F3 A5 07 A0 9F 00 A2 02 00 66  fÁá.gfó¥. Ÿ.¢..f
000001F0  B9 31 9C 00 00 66 81 C1 FF 1F 00 00 66 81 E1 00  ¹1œ..f.Áÿ...f.á.
00000200  E0 FF FF 66 89 CB C1 EB 0C 66 81 CB 00 20 AE 18  àÿÿf‰ËÁë.f.Ë. ®.
00000210  BD 01 03 E8 80 00 66 89 36 5D 03 66 61 31 DB 31  ½..è€.f‰6].fa1Û1
00000220  F6 0F B6 0E 02 00 C1 E1 09 AC 00 C3 E2 FB 28 1E  ö.¶...Áá.¬.Ãâû(.
00000230  06 00 31 FF E8 B7 02 8C E8 E8 D2 02 0F B6 0E 02  ..1ÿè·.ŒèèÒ..¶..
00000240  00 C1 E1 09 8E C0 31 F6 31 FF 2E F3 A4 F6 06 55  .Áá.ŽÀ1ö1ÿ.ó¤ö.U
00000250  03 07 75 30 BE 32 03 31 FF E8 9A 02 BE 70 00 E8  ..u0¾2.1ÿèš.¾p.è
00000260  94 02 BE 4E 03 E8 8E 02 BB 02 FF E8 C7 01 9C 31  ”.¾N.èŽ.».ÿèÇ.œ1
00000270  FF E8 D8 02 BE 52 03 E8 7C 02 9D 75 07 66 31 ED  ÿèØ.¾R.è|..u.f1í
00000280  0E E8 53 01 B0 0A 31 FF E8 44 02 0F A9 0F A1 07  .èS.°.1ÿèD..©.¡.
00000290  1F 61 B8 20 00 CB 66 50 57 BF 20 00 66 53 6A 01  .a¸ .ËfPW¿ .fSj.
000002A0  26 FF 1E 07 00 83 C4 06 52 50 66 5E 66 46 74 0C  &ÿ...ƒÄ.RPf^fFt.
000002B0  66 4E 74 08 FF D5 73 1B 66 43 EB E0 6A 02 66 53  fNt.ÿÕs.fCëàj.fS
000002C0  66 51 6A 00 26 FF 1E 07 00 83 C4 0C 52 50 66 5E  fQj.&ÿ...ƒÄ.RPf^
000002D0  BF 2B 00 89 F8 31 FF E8 F5 01 66 89 F0 E8 23 02  ¿+.‰ø1ÿèõ.f‰ðè#.
000002E0  66 46 74 02 66 4E 5F 66 58 C3 06 31 C0 8E C0 66  fFt.fN_fXÃ.1ÀŽÀf
000002F0  A1 A1 00 26 67 66 3B 86 A1 00 00 00 74 01 F9 07  ¡¡.&gf;†¡...t.ù.

but how to encapsulate the rom in the container is far from my knowledge (yet)
more information on FLB format:
Code:
IBABUILD EXAMPLES:
------------------
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
uses.

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:

    IBABUILD -OF=NIC -IMAGE=SETUP,UNDI,BC -DEVID=100E

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:

    IBABUILD -OF=LOM -IMAGE=BC
    IBABUILD -OF=LOM -IMAGE=UNDI -DEVID=1229

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:

    IBABUILD -ALL -IMAGE=UNDI,BC,SETUP

To program the file FOO.FLB into a NIC:

    IBABUILD -NIC=1 -UPDATE=FOO.FLB

APPLICATION NOTE:
-----------------

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

LEGAL FLASH IMAGE COMBINATIONS
------------------------------

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.

IMAGE FILE NAMING CONVENTIONS:
------------------------------

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:

    BAxyzztn.eee

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.

good test:
Code:
Intel's burning tool accepts only FLB files. The simplest wat to obtain FLB
> header is to dump (backup) flash:
>
>      $ bootutil64e -nic X -saveimage -file backup.flb
>
> Then catch the header (first 0x17a bytes). Here is the significant offsets:
>
>
> Option ROM size is at offset 0x0E0 (e.g. 00 00 01 is 64k). For example, our
> Option ROM is 68608 (0x10C00) bytes. We need to change bytes to: "00 0C 01"
> @ 0x0E0.
> PXE version is at offset 0x136 (e.g. 02 03 0B is 2.2.11). For example, our
> Option ROM's version is 7.8.150. We need to change bytes to: "07 08 96" @
> 0x136.
>
>
> To obtain PXE version size just run
>
>      # bootutil64e -iv -file 808610fb.rom
>
> To burn image just cat fixed header and your custom Option ROM and run:
>
>      # bootutil64e -nic X -restoreimage -file 808610fb.flb

im not that skilled with scripting that i can add a flb header to the rom, could someone with more hex knowledge have a look? :-)
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Problem Flashing with BOOTUTILW64E - jrsmile - 2015-07-14 18:46



User(s) browsing this thread: 2 Guest(s)