(Whoops, boot-architecture wasn't on cc on this thread, forwarding message there for public archiving. Please add arm.ebbr-discuss to cc on any replies.)
On Wed, May 02, 2018 at 06:09:15PM -0400, Tom Rini wrote:
On Wed, May 02, 2018 at 10:48:11PM +0100, Grant Likely wrote:
On 02/05/2018 22:24, Tom Rini wrote:
On Wed, May 02, 2018 at 08:40:42PM +0100, Daniel Thompson wrote:
In terms of the restrictions that come from EBBR mandating GPT:
Can we step back, why is EBBR mandating GPT?
I think EBBR should recommend GPT, but allow MBR if the SoC boot masked rom conflicts with GPT.
In the early days of GPT there was also a hybrid GPT+MBR scheme that could list the boot partition in the MBR, but still have a full GPT. It isn't pretty, but there is precidence.
How about recommends GPT but allows MBR, no qualifiers.
So, first of all - a level 0 EBBR _must_ permit MBR, since many SoCs already out there have ROMs that load firmware.
Secondly, I don't know if should be within the scope of EBBR to mandate anything at all about a partitioning scheme that is not within the control of the firmware.
It could mandate support in the _firmware_ for GPT partitioning. But that is already mandated by UEFI (as well as support for MBR and El Torito).
But I would really like to see some note and explanation of restrictions placed on operating systems (i.e., the consumers of the guarantees provided by the document) by such behaviour in the EBBR.
As you note there's a lot of ways to fiddle around and make it work, probably, on all of the existing SoCs that do magic offsets. But it's a lot easier to just allow MBR (what the SoCs were designed to have to live with) and guide line that in this case nothing before the first 2MiB be used by the OS. With a few more spec words around all of that so it's nice and formal :)
And if there is a corresponding EBSA coming, I would _really_ like to see some compliance level banning the reservation of LBA1-LBA33 and (-LBA1)-(-LBA33) for boot ROM use on any general-purpose block storage. Clearly not level 0, though.
/ Leif