-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Recommend usage of partition type GUIDs to find firmware #106
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -117,6 +117,13 @@ non-protective partitions). | |
There are no requirements on the contents or layout of the firmware | ||
protective partition. | ||
|
||
Devices should use the partition type GUID to identify the partition with | ||
the firmware to load. This is preferable over fixed sector or partition | ||
numbers as it imposes the least restrictions on the partitioning scheme. | ||
|
||
Firmware partition type GUIDs should be unique for a board type. This | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nit-picking: to address #106 (comment) I wonder if we could rather link the GUID to the firmware "type" or "family" instead. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The target is to be able to create an image that can boot multiple boards. If we use a single GUID, e.g. for U-Boot SPL, this is not possible. Instead the GUID must be specific to the board or SoC specific flavor of the boot stage. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So "board type" means one GUID by each supported board reference ? For example today in TF-A, we are using the same FIP GUID for all boards ussing a STM32MP SoC in plat/st/common/include/stm32mp_efi.h #define STM32MP_FIP_GUID the supported board are: => "creating media that can be booted on a multitude of boards" For me it is possible only if TF-A BL2 is not board specific as normally the ROM code load the next boot stage = TF-A BL2 on a fixed location (offset or partition) on this media. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @patrickdelaunay for the EV, you should place your FIP into the eMMC boot partition after the TF-A, so you can use the exact same image on eMMC user area across boards. For the DKs, where boot is from SD-Card exclusively, there's no way with current TF-A to use the same TF-A BL2 across all boards (e.g. memory parameters are hardcoded). For those, you need a different image per board anyway, so using different GUIDs for SSBL serves no purpose IMO. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. To help defining such a boot image GUID, maybe UUID namespace could help. EBBR would define a GUID namespace and platform to derive their compatible platform string names in that name space. |
||
allows creating media that can be booted on a multitude of boards. | ||
|
||
Placing GPT data structures away from firmware images can be accomplished by | ||
adjusting the GUID Partition Entry array location | ||
(adjusting the values of `PartitionEntryLBA` and `NumberOfPartitionEntries`, | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit-picking: I think I would prefer "platforms" or even "SoCs" instead of "devices".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that a renaming would clear it up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Call of May 22: replace "devices" by "boot firmware" (boot rom or e.g. u-boot spl or later stage) and replace "firmware" by "next boot stage".