Hello, I'm currently taking a look at modifying the bayou payload in order to make it work on a modern coreboot system. The conversion seems pretty straightforward except for a few points that I'm unsure about since I don't know what the situation was during the coreboot-v3/LAR era or what was the payload's design process like.

1) Bayou is currently designed this way:

 * Take user-written xml configuration
 * Use pbuilder utility to parse the config
 * pbuilder then generates a single blob containing every payload
   specified (it also performs elf->self conversions, adds the payloads
   to the blob, etc.)
 * Bayou (when executed) takes a compressed blob
 * Reads the configuration from it
 * Parses through the blob looking for each payload specified
 * Follows the rest of the configuration

This design choice seems a bit inappropriate given that we are nowadays used to store multiple secondary payloads directly inside the cbfs (with the re-introduction of bayou "secondary payloads" could also be expanded to contain all the payloads).

I'm instead thinking of doing the following changes:

 * Doing away with the blob
 * Storing the configuration inside the cbfs as a cbfs_file
 * Parse the configuration directly from the cbfs
 * Use cbfstool to handle all addition/removal of payloads to the cbfs
 * Eliminate pbuilder

This seems to be a much cleaner solution than the current one.
I currently don't see any downsides to it but I would like to hear other opinions on the matter.

-- 
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to