From: Mohammed Date: Sun, 17 Aug 2025 16:49:08 +0000 (+0200) Subject: wic: add attribute parameter to parted X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fheads%2Fmathieu%2Fmaster-next;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git wic: add attribute parameter to parted Signed-off-by: Mohammed Signed-off-by: Mathieu Dubois-Briand --- diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py index 2e3061f343..fef856dbbb 100644 --- a/scripts/lib/wic/help.py +++ b/scripts/lib/wic/help.py @@ -1070,6 +1070,9 @@ DESCRIPTION an MBR header. Partitions with this flag will be included in this MBR header. + --attribute: This option is specific to wic. This option is used to set + the partition attribute. + * bootloader This command allows the user to specify various bootloader diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py index 7ef3dc83dd..af4fb91d58 100644 --- a/scripts/lib/wic/ksparser.py +++ b/scripts/lib/wic/ksparser.py @@ -189,6 +189,7 @@ class KickStart(): part.add_argument('--fsuuid') part.add_argument('--no-fstab-update', action='store_true') part.add_argument('--mbr', action='store_true') + part.add_argument('--attribute') bootloader = subparsers.add_parser('bootloader') bootloader.add_argument('--append') diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py index b34691d313..cf5c51f105 100644 --- a/scripts/lib/wic/partition.py +++ b/scripts/lib/wic/partition.py @@ -61,6 +61,7 @@ class Partition(): self.update_fstab_in_rootfs = False self.hidden = args.hidden self.mbr = args.mbr + self.attribute = args.attribute self.lineno = lineno self.source_file = "" diff --git a/scripts/lib/wic/plugins/imager/direct.py b/scripts/lib/wic/plugins/imager/direct.py index 6e1f1c8cba..877a5d2a97 100644 --- a/scripts/lib/wic/plugins/imager/direct.py +++ b/scripts/lib/wic/plugins/imager/direct.py @@ -664,6 +664,11 @@ class PartitionedImage(): exec_native_cmd("sfdisk --sector-size %s --part-attrs %s %s RequiredPartition" % \ (self.sector_size, self.path, part.num), self.native_sysroot) + + if part.attribute: + logger.debug("Set attribute:'%s' for partition '%s' on disk '%s'", part.attribute ,part.num, self.path) + exec_native_cmd("sgdisk -A %s:=:%s %s" % (part.num, part.attribute, self.path), \ + self.native_sysroot) if self.ptable_format == "gpt-hybrid": # Write a protective GPT partition