diff options
| author | Joshua Watt <[email protected]> | 2023-08-31 10:51:40 -0600 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2023-09-11 16:27:49 -0400 |
| commit | 648140f77aff55d3bab072166a88ef179c474524 (patch) | |
| tree | 0539a471cd84a6c956c2c52572aeea92fe741a5e | |
| parent | 368beaf7bb609b1daede46e3b31f5788d52e44e5 (diff) | |
cmd: gpt: Preserve bootable flag
Sets the bootable flag when constructing the partition string from the
current partition configuration. This ensures that when the partitions
are written back (for example, when renaming a partition), the flag is
preserved.
Signed-off-by: Joshua Watt <[email protected]>
| -rw-r--r-- | cmd/gpt.c | 3 | ||||
| -rw-r--r-- | test/py/tests/test_gpt.py | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/cmd/gpt.c b/cmd/gpt.c index 9cc72934388..d5256035c3a 100644 --- a/cmd/gpt.c +++ b/cmd/gpt.c @@ -176,6 +176,7 @@ static int calc_parts_list_len(int numparts) #ifdef CONFIG_PARTITION_TYPE_GUID partlistlen += numparts * (strlen("type=,") + UUID_STR_LEN + 1); #endif + partlistlen += numparts * strlen("bootable,"); partlistlen += numparts * (strlen("uuid=;") + UUID_STR_LEN + 1); /* for the terminating null */ partlistlen++; @@ -316,6 +317,8 @@ static int create_gpt_partitions_list(int numparts, const char *guid, strcat(partitions_list, ",uuid="); strncat(partitions_list, curr->gpt_part_info.uuid, UUID_STR_LEN + 1); + if (curr->gpt_part_info.bootable & PART_BOOTABLE) + strcat(partitions_list, ",bootable"); strcat(partitions_list, ";"); } return 0; diff --git a/test/py/tests/test_gpt.py b/test/py/tests/test_gpt.py index 93007dee9a1..b4c03bc3a2d 100644 --- a/test/py/tests/test_gpt.py +++ b/test/py/tests/test_gpt.py @@ -143,6 +143,7 @@ def test_gpt_read_var(state_disk_image, u_boot_console): "size": "0x100000", "type": "0fc63daf-8483-4772-8e79-3d69d8477de4", "uuid": "33194895-67f6-4561-8457-6fdeed4f50a3", + "bootable": True, }, { "name": "part2", |
