Hi,
We tested a few combinations of --part-name and --label parameters when
creating a WIC image.

When only the --part-name is defined, the GPT partition label is correctly
set, and filesystem label is empty.

If both are defined, or only --label is defined, both the filesystem label
and the GPT partition label are set to the value of --label.


As it makes sense to have a GPT partition label which is different from the
contained filesystem label, our proposal is to fix the case when both are
set, and keep the current behavior when only --label is set for
compatibility reasons.

If this proposal is ok, we will patch the documentation to document that
the GPT partition label is set even when only --label is defined.

Regards

On Wed, Mar 22, 2023 at 4:54 PM <[email protected]> wrote:

> From: Dit Kozmaj <[email protected]>
>
> So far part.label has been used to define GPT partition label even if
> part.part_name was defined.
> Fix the code to use part.part_name whenever available, as it makes sense
> to have a GPT partition label which is different from the contained
> filesystem label.
>
> Signed-off-by: Dit Kozmaj <[email protected]>
> Signed-off-by: Diego Rondini <[email protected]>
> ---
>  scripts/lib/wic/plugins/imager/direct.py | 14 ++++----------
>  1 file changed, 4 insertions(+), 10 deletions(-)
>
> diff --git a/scripts/lib/wic/plugins/imager/direct.py
> b/scripts/lib/wic/plugins/imager/direct.py
> index dfaa901567..1f06b89f8e 100644
> --- a/scripts/lib/wic/plugins/imager/direct.py
> +++ b/scripts/lib/wic/plugins/imager/direct.py
> @@ -571,11 +571,12 @@ class PartitionedImage():
>              self._create_partition(self.path, part.type,
>                                     parted_fs_type, part.start,
> part.size_sec)
>
> -            if part.part_name:
> +            if part.part_name or part.label:
> +                partition_label = part.part_name if part.part_name else
> part.label
>                  logger.debug("partition %d: set name to %s",
> -                             part.num, part.part_name)
> +                             part.num, partition_label)
>                  exec_native_cmd("sgdisk --change-name=%d:%s %s" % \
> -                                         (part.num, part.part_name,
> +                                         (part.num, partition_label,
>                                            self.path), self.native_sysroot)
>
>              if part.part_type:
> @@ -592,13 +593,6 @@ class PartitionedImage():
>                                  (part.num, part.uuid, self.path),
>                                  self.native_sysroot)
>
> -            if part.label and self.ptable_format == "gpt":
> -                logger.debug("partition %d: set name to %s",
> -                             part.num, part.label)
> -                exec_native_cmd("parted -s %s name %d %s" % \
> -                                (self.path, part.num, part.label),
> -                                self.native_sysroot)
> -
>              if part.active:
>                  flag_name = "legacy_boot" if self.ptable_format == 'gpt'
> else "boot"
>                  logger.debug("Set '%s' flag for partition '%s' on disk
> '%s'",
> --
> 2.34.1
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#178950): 
https://lists.openembedded.org/g/openembedded-core/message/178950
Mute This Topic: https://lists.openembedded.org/mt/97781388/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to