On 10/19/23 23:05, Jon Humphreys wrote:
Hi all. I need clarification on where firmware should be located when booting from removable shared storage. Statements in the intro of 4.2 seem to contradict later statements in 4.2.2 of the EBBR [1].
Section 4.2.2 states that to make it easier to use stock OS images on removable storage, firmware should be located on the ESP partition (so you don't have to create a dedicated firmware partition).
On removable media, firmware should be stored in the ESP under the /FIRMWARE directory structure as described in Firmware Partition Filesystem.
However, prior in the 4.2 section, it states:
The sections below discuss the requirements when using both fixed and removable storage. However, it should be noted that the recommended behaviour of firmware should be identical regardless of storage type. 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.
Why would the boot sequence for shared storage look in two places if it is always in the ESP? Or does the statement in 4.2.2 only apply in the case of using a stock OS image?
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".
The EBBR is still evolving. If you have a suggestion for improvement, please, create an incident or merge request on Github. Consider joining one of our meetings. See https://github.com/ARM-software/ebbr/wiki/EBBR-Meetings#datetime
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.
Best regards
Heinrich
thanks Jon