Heinrich Schuchardt heinrich.schuchardt@canonical.com writes:
On 10/20/23 08:01, Jon Humphreys wrote:
How does the TI ROM identify the boot partition? Is that bit 2 "Legacy BIOS Bootable" in the GPT partition attributes field?
Current devices are MBR only. Is is whatever gets set if you use the parted "set <p#> boot on" command.
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 am new to this discussion of course, but I had guessed that the EBBR was pushing for firmware to be in a filesystem (vs raw storage) exactly because it wanted the OS to have a conventional access to it so it can be updated.
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.
I argue the opposite (again I'm new to this so open to learning!). My view: we want all the firmware bits to be owned and specific to the board and the board/firmware presents a standard API to the OS. The OS should own the ESP so it can modify it, set boot order, etc. For these reasons, you want the firmware location to be different than the ESP. For updateability, of course the firmware's location can't be unknown to the OS.
But my point in this is about where it comes from. The firmware must come from the board provider, and the ESP from the OS provider, so they must be in different locations.
As I type this, I realize I have 2 assumptions that may not be correct:
1) the ESP should come from the OS provider. True? At least this seems to be the common practice.
2) the EBBR wants the OS to have direct access to the firmware for updates. True? Or is the thinking that the OS should not have direct access but should only update via other mechanisms like capsule update?
Best regards
Heinrich
thanks! Jon