> On Aug 30, 2021, at 10:52 AM, Devon Bautista > <dbauti...@newmexicoconsortium.org> wrote: > > Hi Gerd, > >>> The current maximum image size of an OVMF image is 4MB, which is >>> insufficient for storing even a minimal and compressed kernel and initramfs. >>> To get around this, we've been maintaining our own fork of EDK2 that adds >>> 8MiB and 16MiB OVMF build targets that have enough room in the DXE volume to >>> store a reasonably-sized kernel and initramfs. However, it would be >>> convenient if upstream EDK2 supported these larger OVMF targets. >> I'm wondering whenever it makes sense to have the 8M option. I think >> I'd tend to go straight to 16M (which is the max size we can do on x86). > On the Linuxboot side, we really only need 16MiB. However, I think Laszlo > justified an 8MiB target because the QEMU commit he pointed to (referenced in > my initial post) increased the absolute firmware size limit to be 16MiB when > setting the maximum (`pcms->max_fw_size`) in `pc_machine_set_max_fw_size()`, > but the default maximum if not set is 8MiB. > > So I understand why an 8MiB target is justified, but, like you, I am not sure > if it's really needed. > >>> However, as Laszlo mentioned, introducing a larger volume size is >>> compatibility breaking, and so seizing the opportunity to come up >>> with a larger non-volatile variable store layout is necessary. >>> >>> That said, I would like to use this thread to discuss among hardware >>> vendors an optimal variable store layout for these larger image sizes. >> The 2M -> 4M switch happened because the varstore was too small. It was >> Confirm64KilobytesOfUnauthenticatedVariableStorage test of the the >> Microsoft Hardware Certification failing. I guess Microsoft has good >> reasons to test for 64k varstore, probably they expect this is big >> enough in practice. >> >> The varstore size of the 4M layout is *way* above that (see 2M -> 4M >> commit message): >> >> Variable store 56 -> 256 ( +200) >> Spare area 64 -> 264 ( +200) >> >> Assuming 256k varstore is more than enough: Sticking to the 4M variable >> store layout for the 16M (and maybe 8M) builds looks like the best >> option to me. I think the varstore would be identical for 4M and 16M >> builds then, so it should be possible to switch guests from 4M to 16M >> while keeping the varstore. > Keeping the 4MiB varstore layout would be the most compatible and > straightforward option and is what I would want to go with. > > But I also think that it might make sense when introducing a considerably > larger build target to account for any possible increases in variable store > size that vendors may expect in the future. I for one dismay any further size > increase, but I suppose the more relevant question is, is 256KiB of varstore > enough for vendors? > I’m also in the 16 MiB camp and I’m OK with the 256KiB varstore.
Thanks, Andrew Fish > -- > Best, > Devon > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#79959): https://edk2.groups.io/g/devel/message/79959 Mute This Topic: https://groups.io/mt/85034796/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-