Description
Today we only have to build a single image for Gimlet. However, when we get to Cosmo, we're going to want to build multiple phase 1 images at a given release that use the same phase 2. Thinking out loud for a moment, I have a few initial ideas for how this may want to look and what we'd have to do. The core goal / assumption here is that while we need to produce different image/rom
files for Gimlet and Cosmo, we do not have to produce separate zfs.img
files. We do not want to have separate zfs.img files unless we have to due to how we think about chaining, etc. Or put differently the only reason we have different files at all is to deal with the AMD fimware and differences in the EFS.
Here are a few high-level ideas of how this could work:
- We could add a new
-b <board>
option which specifies the set of boards to build for. If you don't specify any, it'll build it for all known boards. - In the default
image/output
directory we createimage/output/<board>/rom
and any other board-specific files. This would leave zfs.img there. In addition, we could potentially add a symlink for the top-levelimage/output/rom
though given Tufaceaous doesn't parse symlinks that may not make sense. - The
-Y
and-Z
options would need a way to specify which board they referred to.
There are likely additional knock on effects here, but this should hopefully capture the starting point.