Hi,
As I am working on Automotive Virtual Platform Speficition in the context of SOAFEE and there is a reference to « chosen » standardization in the document, I am verifying all external links.
The file https://elixir.bootlin.com/linux/v5.19.17/source/Documentation/devicetree/b… has disappeared from the Doc tree since 6.0
There are no references to kaslr-seed, stdout-path or linux,usable-memory-range in the whole DT, including in the current 6.6 tree. There is a brief mention (probably not normative) of « chosen » is usage_model.rst but that’s all.
Does anyone knows if that is intentional?
Cheers
FF
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?
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.
thanks
Jon
[1] https://arm-software.github.io/ebbr/
Hi,
This is a kind reminder that we will have our next EBBR call on Sep 11.
Feel free to add to the agenda, directly on the wiki page[1] or by e-mail.
I hope everybody had a nice summer break.
Best regards,
Vincent Stehlé
System Architect - Arm
[1]: https://github.com/ARM-software/ebbr/wiki/EBBR-Meetings
Hi,
Arm worked to draft a firmware handoff [1] specification, evolving it based on community feedback.
This activity followed the request of some members of the Arm ecosystem [2].
The spec (still at ALP – feedback/comments welcome!) standardizes how information is propagated between different firmware components during boot.
The spec hopes to remove the reliance on bespoke/platform-specific information handoff mechanisms, thus reducing the code maintenance burden.
The concept of entry types is present in the spec – these are data structure layouts that carry a specific type of data.
New types are meant to be added, following the needs and use-cases of the different communities.
Thus, these communities should be empowered to request new types!
To enable community contributions, the specification must be hosted in a location that is friendly to change requests.
We propose to host the spec in trustedfirmware.org (tf.org).
Tf.org hosts several open-source projects and already has an open governance model.
TF-A, and the associated community, rely on tf.org, and thus are already well equipped to maintain this specification and keep it up to date.
Tf.org is agnostic of any downstream projects that would adopt this specification (e.g. U-boot, EDK2, etc.).
We welcome the views of the communities and want to understand if there are any strong objections to what’s being proposed!
If anyone has objections, we are happy to consider alternatives and associated trade-offs.
Regards
[1] https://developer.arm.com/documentation/den0135/latest
[2] Re: [TF-A] Proposal: TF-A to adopt hand-off blocks (HOBs) for information passing between boot stages - TF-A - lists.trustedfirmware.org<https://lists.trustedfirmware.org/archives/list/tf-a@lists.trustedfirmware.…>
On 5/4/23 13:39, Michal Simek wrote:
>
>
> On 5/1/23 16:26, Heinrich Schuchardt wrote:
>> Linux distributions are interested in providing a single image which
>> enables a high number of boards to boot. This is simple if the boot
>> firmware (EDK II or U-Boot) is installed on flash.
>>
>> For boards that expect to load a boot loader like U-Boot from an SD-card
>> it is necessary that the firmware locations for different boards
>> on the SD-card don't collide.
>>
>> When loading from SD-card or eMMC the sector at which the binary
>> starts has to be identified. The following has been implemented:
>>
>> - start from hard coded sector number
>> - load file from FAT file system
>> - load from given partition number
>> - load from partition with boot flag set (MBR partioning only)
>> - load from partition with specific type GUID
>>
>> Loading by partition type GUID seems the most appropriate to avoid
>> collisions between the firmware for different boards.
>>
>> Often firmware is separated into multiple parts due to firmware
>> restrictions, e.g. U-Boot SPL and main U-Boot (e.g. as .itb file).
>>
>> Here the same considerations apply. Using a partition type GUID to
>> identify further firmware parts to be loaded is best suited to
>> avoid collisions.
>>
>> I would suggest to add a recommendation to the EBBR specification
>> to use SoC specific partition type GUIDs to identify firmware to
>> be loaded from SD-card.
>>
>> Please, provide your feedback.
>
> Isn't this very similar to effort which Andre presented at Fosdem 2019?
>
> https://archive.fosdem.org/2019/schedule/event/one_image_to_rule_them_all/a…
>
> Thanks,
> Michal
Thanks Michal for the pointer. We are talking about the same topic. The
question that was not resolved up to now is how we can avoid conflicts
between the U-Boot binaries of different SoCs stored on the same medium.
This is where I propose to use GUID partition types.
Best regards
Heinrich
Linux distributions are interested in providing a single image which
enables a high number of boards to boot. This is simple if the boot
firmware (EDK II or U-Boot) is installed on flash.
For boards that expect to load a boot loader like U-Boot from an SD-card
it is necessary that the firmware locations for different boards
on the SD-card don't collide.
When loading from SD-card or eMMC the sector at which the binary
starts has to be identified. The following has been implemented:
- start from hard coded sector number
- load file from FAT file system
- load from given partition number
- load from partition with boot flag set (MBR partioning only)
- load from partition with specific type GUID
Loading by partition type GUID seems the most appropriate to avoid
collisions between the firmware for different boards.
Often firmware is separated into multiple parts due to firmware
restrictions, e.g. U-Boot SPL and main U-Boot (e.g. as .itb file).
Here the same considerations apply. Using a partition type GUID to
identify further firmware parts to be loaded is best suited to
avoid collisions.
I would suggest to add a recommendation to the EBBR specification
to use SoC specific partition type GUIDs to identify firmware to
be loaded from SD-card.
Please, provide your feedback.
Best regards
Heinrich