Ported from the asahi-quattro lane. Both are pinned by hand like linux-aurora and restricted to aarch64 and the edge channel from their first merge, since merging publishes. pkgrel sits one above the fork lanes' builds so the same filename never carries two sets of bytes.
58 lines
1.3 KiB
Diff
58 lines
1.3 KiB
Diff
From 86782e882e9542f5f402e00cd87efb36ad0552d3 Mon Sep 17 00:00:00 2001
|
|
From: Peter Robinson <pbrobinson@gmail.com>
|
|
Date: Sat, 2 Mar 2024 11:17:42 +0000
|
|
Subject: [PATCH v4] disk: dos: Add all options for EFI System Partitions
|
|
|
|
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@gmail.com>
|
|
---
|
|
|
|
v2:
|
|
- Add 0x0c option
|
|
- Make hex constants consistent
|
|
- Move from if to switch statement
|
|
v3:
|
|
- Fix switch brain fart
|
|
v4:
|
|
- Drop boot_ind out of switch
|
|
|
|
disk/part_dos.c | 13 ++++++++++++-
|
|
1 file changed, 12 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/disk/part_dos.c b/disk/part_dos.c
|
|
index 567ead7511d..a35181dff4f 100644
|
|
--- a/disk/part_dos.c
|
|
+++ b/disk/part_dos.c
|
|
@@ -40,10 +40,21 @@ static int get_bootable(dos_partition_t *p)
|
|
{
|
|
int ret = 0;
|
|
|
|
- if (p->sys_ind == 0xef)
|
|
+ switch (p->sys_ind) {
|
|
+ case 0x01:
|
|
+ case 0x06:
|
|
+ case 0x0b:
|
|
+ case 0x0c:
|
|
+ case 0xef:
|
|
ret |= PART_EFI_SYSTEM_PARTITION;
|
|
+ break;
|
|
+ default:
|
|
+ break;
|
|
+ }
|
|
+
|
|
if (p->boot_ind == 0x80)
|
|
ret |= PART_BOOTABLE;
|
|
+
|
|
return ret;
|
|
}
|
|
|
|
--
|
|
2.44.0
|
|
|