[SeaBIOS] [PATCH] coreboot: Add support for FMAP and multiple CBFS

Ben Gardner gardner.ben at gmail.com
Thu Mar 10 18:11:59 CET 2016

Hi Kevin,

I plan to have the default CBFS contain only coreboot and SeabIOS and
a few payloads (coreinfo, memtest86, PXE) that I don't intend to
change often.
That would be protected with a hash and would be kept small for
performance reasons.
ChromeOS appears to do something similar and take it a step further
and write-protect that "read only" region of flash.

The other CBFS would contain larger images that I'm likely to change,
such as Linux.

There is a chance of name conflicts and that may cause problems.
In my use case, the answer is "don't do that".

>From a random sampling of FMD files in the coreboot tree
(google/glados/chromeos.fmd), I see that ChromeOS uses three:
FW_MAIN_A, FW_MAIN_B, and the default COREBOOT.
Assuming FW_MAIN_A and FW_MAIN_B contain files with similar names,
that would cause confusion if they use SeaBIOS.
But I think that ChromeOS is switching to use the Depthcharge bootloader.

So, maybe this wouldn't work well for everyone.


On Thu, Mar 10, 2016 at 9:10 AM, Kevin O'Connor <kevin at koconnor.net> wrote:
> On Wed, Mar 09, 2016 at 12:19:43PM -0600, Ben Gardner wrote:
>> ROM images with a FMAP may have multiple CBFS.
>> Scan all available CBFS so that, say, a SeaBIOS bootable image doesn't
>> have to be in the main CBFS.
>> Coreboot puts the FMAP location in the BOOT_MEDIA_PARAMS entry in the
>> coreboot table. We can grab that and can all regions for CBFS files.
> Thanks.  Can you provide some additional background information on how
> this is intended to work.  If multiple CBFS locations are found, is
> there a chance of file name conflicts?  Is the fmap stuff used for
> primary/backup rom images and if so how will seabios account for that
> if it scans both images?
> Also, can you describe the high level use case you had in mind.
> -Kevin

More information about the SeaBIOS mailing list