On 05/04/2018 01:03 PM, Andreas Färber wrote:
Am 04.05.2018 um 18:50 schrieb Alexander Graf:
On 05/04/2018 06:20 PM, William Mills wrote:
On 05/04/2018 11:45 AM, Alexander Graf wrote: I am missing something. If there is only MBR and no GPT then there is no GUID type for EFI Partition. So how does the firmware find the "EFI Partition" and the default /efi/boot/boot*.efi file? Does it just use the partition with boot flag?
There is a special partition ID for the ESP (0xEF), but U-Boot currently just searches on every partition that's marked bootable.
... and falls back to the first partition if none on the device is marked bootable.
Thanks guys, that makes sense.
So the running summary in my head looks like this:
Case #1: Platforms that have separate storage for firmware and OS
OS storage is simple std GPT with no funny MBR stuff. One image may work on many boards.
Case #2: Platforms where firmware and OS share single storage
Storage uses either GPT or MBR (but only one) based on board need. Image is dedicated for one machine type (or closely related set). If raw mode is needed use MBR with 2MB reserved space OS should not touch reserved space in MBR If using GPT, firmware should place needed files in either: * Vendor registered dir in EFI partition * GUID identified partitions w/ attribute bit 0 set (can fallback to using names if GUID not found)
Should we consider a future case #3? Case #3: New Platforms where firmware and OS share storage
Storage uses std GPT with no exceptions. Image may work with N preknown boards that are unrelated. Firmware files are all in a vendor specified dir in the EFI partition
Bill