[PATCH] disk: dos: Add all options for EFI System Partitions
Peter Robinson
pbrobinson at gmail.com
Mon Feb 19 10:12:15 CET 2024
The EFI spec states that the ESP can be any of FAT12/16/32 but for
compatibility doesn't necssarily require the partition to be the
EFI partition table ID of 0xef. A number of arm devices will not
find their firmware on a FAT partition with an ID of 0xef so also
allow the original FAT12/16/32 partition IDs as they are also
permissable for an ESP.
Signed-off-by: Peter Robinson <pbrobinson at gmail.com>
---
disk/part_dos.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/disk/part_dos.c b/disk/part_dos.c
index 567ead7511d..303eb1d13ee 100644
--- a/disk/part_dos.c
+++ b/disk/part_dos.c
@@ -40,6 +40,12 @@ static int get_bootable(dos_partition_t *p)
{
int ret = 0;
+ if (p->sys_ind == 0x1)
+ ret |= PART_EFI_SYSTEM_PARTITION;
+ if (p->sys_ind == 0x6)
+ ret |= PART_EFI_SYSTEM_PARTITION;
+ if (p->sys_ind == 0x0b)
+ ret |= PART_EFI_SYSTEM_PARTITION;
if (p->sys_ind == 0xef)
ret |= PART_EFI_SYSTEM_PARTITION;
if (p->boot_ind == 0x80)
--
2.43.1
More information about the U-Boot
mailing list