RFC: Towards ffspart rather than much perl #2498
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The way we currently generate the PNOR image itself is rather convoluted, slow, and spread across at least three git repositories.
Doing something simple like "this partition should be signed" is overly complex, and build times for a PNOR are much longer than they should be for something which is effectively copying 64MB of data from a bunch of files into one file.
So, we have had the
ffspart
utility sitting in skiboot for a while. It's about 400 lines of C that uses the same libflash infrastructure that skiboot and pflash use. It takes a CSV input and constructs a FFS layed out PNOR image.In order to ensure we don't regress when transitioning over, this PR builds two pnor images: one using the existing method and the other taking the XML, converting it to the CSV and then producing a PNOR which we diff against the traditional method.
The next step would be to produce the ffspart based image independently of the XML method and diff it, before finally removing the old method.
This is more of a RFC to see how it all fairs in the test matrix that CI builds.