On 10/20/23 08:01, Jon Humphreys wrote:
Heinrich Schuchardt <heinrich.schucha...@canonical.com> writes:


High Jon,

thanks for pointing out where the specification is unclear.

I guess a half-sentence is missing saying "if both a dedicated firmware
partition and the EFI system partition are both supported by the
firmware".

If I follow you, more precisely it is if a *separate* dedicated firmware
partition and ESP are supported as firmware locations.

For example, with TI ROM, it always loads the firmware from the boot
partition.  So designating the dedicated firmware partition is done by
making it the boot partition.  It also supports firmware in the ESP, but
only if you make the ESP the boot partition.  Which then they are really
the same partition.

How does the TI ROM identify the boot partition? Is that bit 2 "Legacy BIOS Bootable" in the GPT partition attributes field?


But I question the purpose of the sentence at the end of 4.2:

   In both cases, the recommended boot sequence is to first search for
   firmware in a dedicated firmware partition, and second search for
   firmware in the ESP.

because it is stated at the beginning of 4:

   In general, EBBR compliant platforms should use dedicated storage for
   boot firmware images and data, independent of the storage used for OS
   partitions and the EFI System Partition (ESP).

Was the point of the sentence in 4.2 really that the EBBR prefers the
choice of firmware placement in a dedicated partition, but if you have
to, it can be in the ESP, *and* that this choice should be the same for
fixed and removable storage?


The EBBR is still evolving. If you have a suggestion for improvement,
please, create an incident or merge request on Github.

Created https://github.com/ARM-software/ebbr/issues/113 for
clarification of 4.2.2.

Great.


Consider joining
one of our meetings. See
https://github.com/ARM-software/ebbr/wiki/EBBR-Meetings#datetime

I had wanted to bring this up in person, but I am on vacation for the
next 2 weeks.  I hope I can make the following meeting.

As a side question, I'm not sure of the practicality of recommending a
boot sequence that looks in two places, at least for the very first
firmware stages, as ROM usually is very simple and only looks in a
single location.

The documentation is not only about what a boot ROM does. E.g. I have
seen a boot ROM loading U-Boot SPL from flash and U-Boot SPL loading EDK
II from /EFI/vendor/board/firmware.itb. But U-Boot SPL in this case
would only scan the ESP.

So that raises another issue.  Your statement above implies, I think,
that different stages of firmware can live in different places, which does
happen.

But I had read the spec as implying that firmware must be at a single
location.

Can you clarify?

I agree with you that we should put some more thought into this chapter of the EBBR.

Firmware always lives in multiple locations, if you count the boot ROM as firmware.

The central target of the EBBR specification is that operating systems can boot without special adaptation to a specific firmware.

From a distro perspective the best solution is a compliant firmware that the distro does not have to care about because it is not on any medium controlled by the operating system. This is for instance given if a compliant EDK II or U-Boot is on SPI flash or in an eMMC boot partition.

Unfortunately not all hardware lives up to this. E.g. SPI flash may be missing or too small. In this case it is still preferable if the impact of having the firmware on a medium governed by the operating system remains small.

I personally would prefer firmware using the firmware folder in the ESP over using a firmware partition because the partitioning scheme would not be firmware specific.

Best regards

Heinrich
_______________________________________________
boot-architecture mailing list -- boot-architecture@lists.linaro.org
To unsubscribe send an email to boot-architecture-le...@lists.linaro.org

Reply via email to