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.
Ben
On Thu, Mar 10, 2016 at 9:10 AM, Kevin O'Connor kevin@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