From b1536416ed7c403b9bbcf6e20165ff7251cccad7 Mon Sep 17 00:00:00 2001 From: Anton Bambura Date: Mon, 3 Jul 2023 23:38:49 +0300 Subject: [PATCH] install/partition: set efi flag with cgpt Some devices (veyron) have read-only primary GPT record on eMMC and parted can't handle it. It results in U-Boot not being able to boot from eMMC. Fix it by setting efi flag with cgpt instead of parted. Reviewed-by: Oliver Smith Reviewed-by: Luca Weiss Link: https://lists.sr.ht/~postmarketos/pmbootstrap-devel/%3C168844148723.7161.318848193297628515-0@git.sr.ht%3E --- pmb/install/partition.py | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/pmb/install/partition.py b/pmb/install/partition.py index 49c73a36..456943c3 100644 --- a/pmb/install/partition.py +++ b/pmb/install/partition.py @@ -150,19 +150,12 @@ def partition_cgpt(args, layout, size_boot, size_reserve): # pmOS_boot is second partition, the first will be ChromeOS kernel # partition "-i", str(layout["boot"]), # Partition number - "-t", "data", + "-t", "efi", # Mark this partition as bootable for u-boot "-b", boot_part_start, "-s", s_boot, "-l", "pmOS_boot", "/dev/install" ], - # Mark this partition as bootable for u-boot - [ - "parted", - "-s", "/dev/install", - "set", str(layout["boot"]), - "boot", "on" - ], # For some reason cgpt switches all flags to 0 after marking # any partition as bootable, so create ChromeOS kernel partition # only after pmOS_boot is created and marked as bootable