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 <JPEWhacker@gmail.com>
This commit is contained in:
Joshua Watt 2023-08-31 10:51:40 -06:00 committed by Tom Rini
parent 368beaf7bb
commit 648140f77a
2 changed files with 4 additions and 0 deletions

View file

@ -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;

View file

@ -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",