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? :-)