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