Hi all. I've organized some of my requests for clarification below. I
appreciate you helping me understand the spec. Where the spec needs
clarification itself, I'll create a ticket to track.
Basic (dumb) questions:
-----------------------
- why is EBBR dictating the location of firmwares? The firmware
locations are a contract with the boot ROM and subsequent stages,
leading up to the OSloader. The OSloader hand-off interface is the
real EBBR contract with an OS provider, I would think.
My answer to this question had been that in order for the OS to update
firmware, the firmware locations need to be standardized. But I've
since learned that the firmware update mechanism should be abstracted
via update capsules. So I am back to not understanding why the
firmware locations aren't just a convention local to the board vendor.
Firmware locations:
-------------------
- the EBBR states that a dedicated partition is preferred for storing
firmware. This seems to imply that all firmwares will be in a single
location. This isn't true in many cases (eg, some partitions aren't
large enough and subsequent stages are loaded from a different
partition). Is there guidance (or should be guidance) in EBBR on how
to handle these scenarios?
- does the EBBR discourage placing firmware in the ESP, and if so, under
what circumstances is it recommended (eg, trying to boot a stock OS
image). See https://github.com/ARM-software/ebbr/issues/113
Device Tree:
------------
- The EBBR requires a device tree file (or ACPI table). It makes
complete theoretical sense that the board firmware should supply the
DTB, since it is (in theory) a description of the hardware, which
obviously doesn't change. But the unfortunate reality is that the
device tree is always changing to stay in sync with the kernel. My
experience is that OS images ship with a corresponding device
tree. But the device tree location is one example where the EBBR does
not specify a convention. How can the EBBR handle this reality so
that we can standardize where an OS vendor can place its version of
the DTB?
ESP
---
- who is responsible for providing the ESP, the board firmware or the OS
provider?
The goal of SystemReady is to separate the software packaging between
board firmware and OS images, so that we eliminate the need for OS
vendors to produce board specific images. The current practice in
embedded is to deliver a monolithic, self-contained image, and in this
scenario, standards don't matter as much as it is all self-contained.
As I try to image what embedded looks like where boards ship with
firmware installed and OS providers only provide the OS image, I'm
running into these questions like who provides the ESP, where is the
DTB located, etc.
thanks
Jon
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