[coreboot] flashrom image identification problem/coreboot signature RFC

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Mon Jun 16 19:39:15 CEST 2008

On 16.06.2008 19:02, Stefan Reinauer wrote:
> Carl-Daniel Hailfinger wrote:
>> On 14.06.2008 21:53, Stefan Reinauer wrote:
>>> I suggest using the same mechanism, wrapping the information in a lar
>>> header, making it a single file lar. The lar format can handle this, and
>>> we don't have to worry for different versions.
>> How about a generic bootblock/VPD signature instead? Having a short
>> signature in the top 256 bytes or so will allow recognition of complete
>> and incomplete (only partly mapped) coreboot images easily.
>> Proposal for signature formats:
>> 4 bytes:
>> "CB20" for v2.0 and "CB30" for v3.0
>> 8 bytes (option 1):
>> "CB203300" for v2.0, rev 3300
>> 8 bytes (option 2):
>> "coreboot"
>> 16 bytes:
>> "coreboot20r3300 " for v2.0, r3300 (note the space at the end for
>> 5-digit svn revisions)
> Top 256 bytes will not always work. The current trouble is due to the
> fact that we have some mainboards that need the information in a
> different place than others.

Anything in the top 4k would be OK for me, unless there are specific
reasons this is impossible with some boards. I'd appreciate a pointer
about the "different place" thing.

> Other than that, we might indeed put the coreboot version into the
> firmware signature, too, if there's a reason to do so. Is there?

Not sure about svn revision, but differentiating between v2 and v3 would
help. For one, we could keep a pseudo-LAR out of v2.

> I miss the actual information in your suggestion, namely the mainboard
> vendor and type.

Placing vendor and type somewhere else is possible, as long as flashrom
knows that it should look there.

> Since we already have LAR, using that format instead of yet another
> signature rule makes a lot of sense in my opinion.

For v3, yes mostly.
For v2, someone would have to add a invalid LAR pseudoheader to the
final linked image. Definitely not something I'd like to try (my linker
script skills are not good enough nor do I consider this to be a
particularly compelling idea).


More information about the coreboot mailing list