Discussion:
[coreboot] How can extract descriptor.bin from bios image?
김유석
2016-06-14 02:40:49 UTC
Permalink
Dear Sir.


My EVB is ADI SG-2440 and mohon peak CRB.


This time, My coreboot image are not running GbE.

Another guy are said to me that "Must add a descriptor.bin to coreboot.img".

And I was found the descriptor.bin from original bios image. See below.

* ***@raw rangeley $ > ./tools/ifdtool
~/data/project/sdk/intel_rangeley/crb/BIOS/BIOS1_org.bin -d
File
/home/poplinux/data/project/sdk/intel_rangeley/crb/BIOS/BIOS1_org.bin is
8388608 bytes
FLMAP0: 0x01040003
NR: 1
FRBA: 0x40
NC: 1
FCBA: 0x30
FLMAP1: 0x09100206
ISL: 0x09
FPSBA: 0x100
NM: 2
FMBA: 0x60
FLMAP2: 0x00210020
PSL: 0x2100
FMSBA: 0x200
FLUMAP1: 0x000008e0
Intel ME VSCC Table Length (VTL): 8
Intel ME VSCC Table Base Address (VTBA): 0x000e00

ME VSCC table:
JID0: 0x001740ef
SPI Componend Device ID 1: 0x17
SPI Componend Device ID 0: 0x40
SPI Componend Vendor ID: 0xef
VSCC0: 0x20052005
Lower Erase Opcode: 0x20
Lower Write Enable on Write Status: 0x50
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 4KB
Upper Erase Opcode: 0x20
Upper Write Enable on Write Status: 0x50
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 4KB
JID1: 0x00167120
SPI Componend Device ID 1: 0x16
SPI Componend Device ID 0: 0x71
SPI Componend Vendor ID: 0x20
VSCC1: 0xd817d817
Lower Erase Opcode: 0xd8
Lower Write Enable on Write Status: 0x06
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 64KB
Upper Erase Opcode: 0xd8
Upper Write Enable on Write Status: 0x06
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 64KB
JID2: 0x00177120
SPI Componend Device ID 1: 0x17
SPI Componend Device ID 0: 0x71
SPI Componend Vendor ID: 0x20
VSCC2: 0xd817d817
Lower Erase Opcode: 0xd8
Lower Write Enable on Write Status: 0x06
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 64KB
Upper Erase Opcode: 0xd8
Upper Write Enable on Write Status: 0x06
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 64KB
JID3: 0x00172020
SPI Componend Device ID 1: 0x17
SPI Componend Device ID 0: 0x20
SPI Componend Vendor ID: 0x20
VSCC3: 0xd817d817
Lower Erase Opcode: 0xd8
Lower Write Enable on Write Status: 0x06
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 64KB
Upper Erase Opcode: 0xd8
Upper Write Enable on Write Status: 0x06
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 64KB

OEM Section:
00: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

Found Region Section
FLREG0: 0x01ff0000
Flash Region 0 (Flash Descriptor): 00000000 - 001fffff
FLREG1: 0x07ff0200
Flash Region 1 (BIOS): 00200000 - 007fffff
FLREG2: 0x00000fff
Flash Region 2 (Intel ME): 00fff000 - 00000fff (unused)
FLREG3: 0x00000fff
Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
FLREG4: 0x00000fff
Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)

Found Component Section
FLCOMP 0x09300024
Dual Output Fast Read Support: not supported
Read ID/Read Status Clock Frequency: 33MHz
Write/Erase Clock Frequency: 33MHz
Fast Read Clock Frequency: 33MHz
Fast Read Support: supported
Read Clock Frequency: 20MHz
Component 2 Density: 8MB
Component 1 Density: 8MB
FLILL 0x00000000
Invalid Instruction 3: 0x00
Invalid Instruction 2: 0x00
Invalid Instruction 1: 0x00
Invalid Instruction 0: 0x00
FLPB 0x00000000
Flash Partition Boundary Address: 0x000000

Found PCH Strap Section
PCHSTRP0: 0x081a0002
PCHSTRP1: 0x00000000
PCHSTRP2: 0x00000000
PCHSTRP3: 0x00000003
PCHSTRP4: 0x0000007f
PCHSTRP5: 0x007fffc0
PCHSTRP6: 0x0001c7c0
PCHSTRP7: 0x00000624
PCHSTRP8: 0x00000000
PCHSTRP9: 0xffffffff
PCHSTRP10: 0xffffffff
PCHSTRP11: 0xffffffff
PCHSTRP12: 0xffffffff
PCHSTRP13: 0xffffffff
PCHSTRP14: 0xffffffff
PCHSTRP15: 0xffffffff
PCHSTRP16: 0xffffffff
PCHSTRP17: 0xffffffff

Found Master Section
FLMSTR1: 0xffff0000 (Host CPU/BIOS)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0000

FLMSTR2: 0xffff0118 (Intel ME)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0118

FLMSTR3: 0xffffffff (GbE)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0xffff

Found Processor Strap Section
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff*


But I don't have a solution that extract descriptor.bin from bios.image,
Because I don't have a offset and size.


Please show to me the solution.


Thank you.
Alexander Couzens
2016-06-17 22:07:43 UTC
Permalink
Hi,
use
ifdtool -x <file>

best,
lynxis
--
Alexander Couzens

mail: ***@fe80.eu
jabber: ***@fe80.eu
mobile: +4915123277221
gpg: 390D CF78 8BF9 AA50 4F8F F1E2 C29E 9DA6 A0DF 8604
--
coreboot mailing list: ***@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot
김유석
2016-06-20 02:16:00 UTC
Permalink
Dear Sir.

Thank's your advise. It is very useful to me.

My work log is see below.

***@raw rangeley $ > ./tools/ifdtool -x ./oem_dumped.bin
File ./oem_dumped.bin is 8388608 bytes
Flash Region 0 (Flash Descriptor): 00000000 - 0000ffff
Flash Region 1 (BIOS): 00010000 - 007fffff
Flash Region 2 (Intel ME): 00fff000 - 00000fff*(unused)*
Flash Region 3 (GbE): 00fff000 - 00000fff *(unused)*
Flash Region 4 (Platform Data): 00fff000 - 00000fff*(unused)*

*The Flash Region 2~3 is (unused). Is it corrent?*


And descriptor.bin's content is see below.

***@raw rangeley $ > ./tools/ifdtool -d ./descriptor.bin
File ./descriptor.bin is 65536 bytes
FD signature Offset 0x10
FD signature Offset 0x10
FLMAP0: 0x01040003
NR: 1
FRBA: 0x40
NC: 1
FCBA: 0x30
FLMAP1: 0x09100206
ISL: 0x09
FPSBA: 0x100
NM: 2
FMBA: 0x60
FLMAP2: 0x00210020
PSL: 0x2100
FMSBA: 0x200
FLUMAP1: 0x000002e0
Intel ME VSCC Table Length (VTL): 2
Intel ME VSCC Table Base Address (VTBA): 0x000e00

ME VSCC table:
JID0: 0x001740ef
SPI Componend Device ID 1: 0x17
SPI Componend Device ID 0: 0x40
SPI Componend Vendor ID: 0xef
VSCC0: 0x20052005
Lower Erase Opcode: 0x20
Lower Write Enable on Write Status: 0x50
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 4KB
Upper Erase Opcode: 0x20
Upper Write Enable on Write Status: 0x50
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 4KB

OEM Section:
00: 31 31 35 32 31 35 30 39 32 30 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Found Region Section
FLREG0: 0x000f0000
Flash Region 0 (Flash Descriptor): 00000000 - 0000ffff
FLREG1: 0x07ff0010
Flash Region 1 (BIOS): 00010000 - 007fffff
FLREG2: 0x00000fff
Flash Region 2 (Intel ME): 00fff000 - 00000fff (unused)
FLREG3: 0x00000fff
Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
FLREG4: 0x00000fff
Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)

Found Component Section
FLCOMP 0x09200024
Dual Output Fast Read Support: not supported
Read ID/Read Status Clock Frequency: 33MHz
Write/Erase Clock Frequency: 33MHz
Fast Read Clock Frequency: 33MHz
Fast Read Support: not supported
Read Clock Frequency: 20MHz
Component 2 Density: 8MB
Component 1 Density: 8MB
FLILL 0x00000000
Invalid Instruction 3: 0x00
Invalid Instruction 2: 0x00
Invalid Instruction 1: 0x00
Invalid Instruction 0: 0x00
FLPB 0x00000000
Flash Partition Boundary Address: 0x000000

Found PCH Strap Section
PCHSTRP0: 0x00080002
PCHSTRP1: 0x00000000
PCHSTRP2: 0x00000000
PCHSTRP3: 0x00000003
PCHSTRP4: 0x0000007f
PCHSTRP5: 0x007fffc0
PCHSTRP6: 0x0001c7c0
PCHSTRP7: 0x00000624
PCHSTRP8: 0x00000000
PCHSTRP9: 0xffffffff
PCHSTRP10: 0xffffffff
PCHSTRP11: 0xffffffff
PCHSTRP12: 0xffffffff
PCHSTRP13: 0xffffffff
PCHSTRP14: 0xffffffff
PCHSTRP15: 0xffffffff
PCHSTRP16: 0xffffffff
PCHSTRP17: 0xffffffff

Found Master Section
FLMSTR1: 0x1f1f0000 (Host CPU/BIOS)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0000

FLMSTR2: 0x08090118 (Intel ME)
Platform Data Region Write Access: disabled
GbE Region Write Access: enabled
Intel ME Region Write Access: disabled
Host CPU/BIOS Region Write Access: disabled
Flash Descriptor Write Access: disabled
Platform Data Region Read Access: disabled
GbE Region Read Access: enabled
Intel ME Region Read Access: disabled
Host CPU/BIOS Region Read Access: disabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0118

FLMSTR3: 0xffffffff (GbE)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0xffff

Found Processor Strap Section
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff


*Is this descrptor.bin enought to support GbE interface?*

Thank you.
Post by Alexander Couzens
Hi,
use
ifdtool -x <file>
best,
lynxis
WANG FEI
2016-06-20 21:50:23 UTC
Permalink
Looking at the logs you've got, the final bios only have BIOS/coreboot and
descriptor.bin, the GbE/ME areas are not used, I think as long as your
enable the descripor.bin, it should be good enough.

***@raw rangeley $ > ./tools/ifdtool -x ./oem_dumped.bin
File ./oem_dumped.bin is 8388608 bytes
Flash Region 0 (Flash Descriptor): 00000000 - 0000ffff
Flash Region 1 (BIOS): 00010000 - 007fffff
Flash Region 2 (Intel ME): 00fff000 - 00000fff* (unused)*
Flash Region 3 (GbE): 00fff000 - 00000fff *(unused)*
Flash Region 4 (Platform Data): 00fff000 - 00000fff* (unused)*
Post by 김유석
Dear Sir.
Thank's your advise. It is very useful to me.
My work log is see below.
File ./oem_dumped.bin is 8388608 bytes
Flash Region 0 (Flash Descriptor): 00000000 - 0000ffff
Flash Region 1 (BIOS): 00010000 - 007fffff
Flash Region 2 (Intel ME): 00fff000 - 00000fff* (unused)*
Flash Region 3 (GbE): 00fff000 - 00000fff *(unused)*
Flash Region 4 (Platform Data): 00fff000 - 00000fff* (unused)*
*The Flash Region 2~3 is (unused). Is it corrent?*
And descriptor.bin's content is see below.
File ./descriptor.bin is 65536 bytes
FD signature Offset 0x10
FD signature Offset 0x10
FLMAP0: 0x01040003
NR: 1
FRBA: 0x40
NC: 1
FCBA: 0x30
FLMAP1: 0x09100206
ISL: 0x09
FPSBA: 0x100
NM: 2
FMBA: 0x60
FLMAP2: 0x00210020
PSL: 0x2100
FMSBA: 0x200
FLUMAP1: 0x000002e0
Intel ME VSCC Table Length (VTL): 2
Intel ME VSCC Table Base Address (VTBA): 0x000e00
JID0: 0x001740ef
SPI Componend Device ID 1: 0x17
SPI Componend Device ID 0: 0x40
SPI Componend Vendor ID: 0xef
VSCC0: 0x20052005
Lower Erase Opcode: 0x20
Lower Write Enable on Write Status: 0x50
Lower Write Status Required: No
Lower Write Granularity: 64 bytes
Lower Block / Sector Erase Size: 4KB
Upper Erase Opcode: 0x20
Upper Write Enable on Write Status: 0x50
Upper Write Status Required: No
Upper Write Granularity: 64 bytes
Upper Block / Sector Erase Size: 4KB
00: 31 31 35 32 31 35 30 39 32 30 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Found Region Section
FLREG0: 0x000f0000
Flash Region 0 (Flash Descriptor): 00000000 - 0000ffff
FLREG1: 0x07ff0010
Flash Region 1 (BIOS): 00010000 - 007fffff
FLREG2: 0x00000fff
Flash Region 2 (Intel ME): 00fff000 - 00000fff (unused)
FLREG3: 0x00000fff
Flash Region 3 (GbE): 00fff000 - 00000fff (unused)
FLREG4: 0x00000fff
Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)
Found Component Section
FLCOMP 0x09200024
Dual Output Fast Read Support: not supported
Read ID/Read Status Clock Frequency: 33MHz
Write/Erase Clock Frequency: 33MHz
Fast Read Clock Frequency: 33MHz
Fast Read Support: not supported
Read Clock Frequency: 20MHz
Component 2 Density: 8MB
Component 1 Density: 8MB
FLILL 0x00000000
Invalid Instruction 3: 0x00
Invalid Instruction 2: 0x00
Invalid Instruction 1: 0x00
Invalid Instruction 0: 0x00
FLPB 0x00000000
Flash Partition Boundary Address: 0x000000
Found PCH Strap Section
PCHSTRP0: 0x00080002
PCHSTRP1: 0x00000000
PCHSTRP2: 0x00000000
PCHSTRP3: 0x00000003
PCHSTRP4: 0x0000007f
PCHSTRP5: 0x007fffc0
PCHSTRP6: 0x0001c7c0
PCHSTRP7: 0x00000624
PCHSTRP8: 0x00000000
PCHSTRP9: 0xffffffff
PCHSTRP10: 0xffffffff
PCHSTRP11: 0xffffffff
PCHSTRP12: 0xffffffff
PCHSTRP13: 0xffffffff
PCHSTRP14: 0xffffffff
PCHSTRP15: 0xffffffff
PCHSTRP16: 0xffffffff
PCHSTRP17: 0xffffffff
Found Master Section
FLMSTR1: 0x1f1f0000 (Host CPU/BIOS)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0000
FLMSTR2: 0x08090118 (Intel ME)
Platform Data Region Write Access: disabled
GbE Region Write Access: enabled
Intel ME Region Write Access: disabled
Host CPU/BIOS Region Write Access: disabled
Flash Descriptor Write Access: disabled
Platform Data Region Read Access: disabled
GbE Region Read Access: enabled
Intel ME Region Read Access: disabled
Host CPU/BIOS Region Read Access: disabled
Flash Descriptor Read Access: enabled
Requester ID: 0x0118
FLMSTR3: 0xffffffff (GbE)
Platform Data Region Write Access: enabled
GbE Region Write Access: enabled
Intel ME Region Write Access: enabled
Host CPU/BIOS Region Write Access: enabled
Flash Descriptor Write Access: enabled
Platform Data Region Read Access: enabled
GbE Region Read Access: enabled
Intel ME Region Read Access: enabled
Host CPU/BIOS Region Read Access: enabled
Flash Descriptor Read Access: enabled
Requester ID: 0xffff
Found Processor Strap Section
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff
????: 0xffffffff
*Is this descrptor.bin enought to support GbE interface?*
Thank you.
Hi,
use
ifdtool -x <file>
best,
lynxis
--
https://www.coreboot.org/mailman/listinfo/coreboot
Loading...