[OE-core] [PATCH] wic: add 'part-name' argument for naming GPT partitions

Nicolas Dechesne nicolas.dechesne at linaro.org
Thu Nov 2 10:15:50 UTC 2017


On Thu, Nov 2, 2017 at 11:01 AM, Artur Mądrzak <artur at madrzak.eu> wrote:
>
> Hi again,
>
> May I ask you to merge attached patch? I'm sorry I'm not sending it according to the guide, but I don't know why list doesn't accept my emails sent via git send-email(can receive emails if send to my different e-mail address). If I place patch manually, then patchwork complain. The patch is on top of openembedded-core 3b413a8057 (head of master).

I will test it our locally, and resend for you.

>
>
> Thanks and sorry for inconvenience.
> Artur Mądrzak
>
> W dniu 01.11.2017 o 13:48, Ed Bartosh pisze:
>
>> On Tue, Oct 31, 2017 at 04:08:58PM +0100, Nicolas Dechesne wrote:
>>>
>>> On Tue, Oct 31, 2017 at 2:33 PM, Ed Bartosh <ed.bartosh at linux.intel.com> wrote:
>>>>
>>>>
>>>> On Mon, Oct 30, 2017 at 08:53:09PM +0100, Artur Mądrzak wrote:
>>>>>
>>>>> The WIC's 'part' can now give a name for GPT partition in WKS file.
>>>>> It's similar to '--label', but is naming partitions instead file systems.
>>>>> It's required by some bootloaders to partitions have specified names.
>>>>>
>>>>
>>>> Thank you for the patch!
>>>>
>>>> +1
>>>
>>>
>>> Yes, +1 from me as well. The context of this patch is for the Qualcomm
>>> SoC based board that have *interesting* bootloaders requirements, one
>>> of them being to look for partition by their names.
>>>
>>> Patchwork complained about the patch, so Artur, please address these
>>> comments and resend the patch.
>>>
>>> Ed: do you think this can be backported to previous release branches?
>>> The lack of --part-name on previous releases make WIC unusable for us.
>>> The backport is not trivial since many changes have happened, but
>>> Artur has a equivalent patch for morty at least.
>>>
>>
>> Yes, I think it can be backported. It shouldn't be hard to do especially
>> if there is a patch for morty. Just go ahead and send it for review. It
>> would be a good first step in this direction.
>>
>>>
>>>>
>>>>
>>>>> Signed-off-by: Artur Mądrzak <artur at madrzak.eu>
>>>>> ---
>>>>>   scripts/lib/wic/help.py                  |  2 ++
>>>>>   scripts/lib/wic/ksparser.py              |  1 +
>>>>>   scripts/lib/wic/partition.py             |  1 +
>>>>>   scripts/lib/wic/plugins/imager/direct.py | 11 +++++++++++
>>>>>   4 files changed, 15 insertions(+)
>>>>>
>>>>> diff --git a/scripts/lib/wic/help.py b/scripts/lib/wic/help.py
>>>>> index bd9c62e2e8..2ac45e052e 100644
>>>>> --- a/scripts/lib/wic/help.py
>>>>> +++ b/scripts/lib/wic/help.py
>>>>> @@ -970,6 +970,8 @@ DESCRIPTION
>>>>>                               This option cannot be used with --fixed-size
>>>>>                               option.
>>>>>
>>>>> +         --part-name: This option is specific to wic. It specifies name for
>>>>> GPT partitions.
>>>>> +
>>>>>            --part-type: This option is specific to wic. It specifies
>>>>> partition
>>>>>                         type GUID for GPT partitions.
>>>>>                         List of partition type GUIDS can be found here:
>>>>> diff --git a/scripts/lib/wic/ksparser.py b/scripts/lib/wic/ksparser.py
>>>>> index 99b66eebc5..7850e81d2f 100644
>>>>> --- a/scripts/lib/wic/ksparser.py
>>>>> +++ b/scripts/lib/wic/ksparser.py
>>>>> @@ -144,6 +144,7 @@ class KickStart():
>>>>>           part.add_argument('--no-table', action='store_true')
>>>>>           part.add_argument('--ondisk', '--ondrive', dest='disk',
>>>>> default='sda')
>>>>>           part.add_argument("--overhead-factor", type=overheadtype)
>>>>> +        part.add_argument('--part-name')
>>>>>           part.add_argument('--part-type')
>>>>>           part.add_argument('--rootfs-dir')
>>>>>
>>>>> diff --git a/scripts/lib/wic/partition.py b/scripts/lib/wic/partition.py
>>>>> index b623bb9e6d..66e61ba70c 100644
>>>>> --- a/scripts/lib/wic/partition.py
>>>>> +++ b/scripts/lib/wic/partition.py
>>>>> @@ -51,6 +51,7 @@ class Partition():
>>>>>           self.no_table = args.no_table
>>>>>           self.num = None
>>>>>           self.overhead_factor = args.overhead_factor
>>>>> +        self.part_name = args.part_name
>>>>>           self.part_type = args.part_type
>>>>>           self.rootfs_dir = args.rootfs_dir
>>>>>           self.size = args.size
>>>>> diff --git a/scripts/lib/wic/plugins/imager/direct.py
>>>>> b/scripts/lib/wic/plugins/imager/direct.py
>>>>> index 60317eed22..bdb8385620 100644
>>>>> --- a/scripts/lib/wic/plugins/imager/direct.py
>>>>> +++ b/scripts/lib/wic/plugins/imager/direct.py
>>>>> @@ -366,6 +366,10 @@ class PartitionedImage():
>>>>>           for num in range(len(self.partitions)):
>>>>>               part = self.partitions[num]
>>>>>
>>>>> +            if self.ptable_format == 'msdos' and part.part_name:
>>>>> +                raise WicError("setting custom partition name is not " \
>>>>> +                               "implemented for msdos partitions")
>>>>> +
>>>>>               if self.ptable_format == 'msdos' and part.part_type:
>>>>>                   # The --part-type can also be implemented for MBR
>>>>> partitions,
>>>>>                   # in which case it would map to the 1-byte "partition type"
>>>>> @@ -519,6 +523,13 @@ class PartitionedImage():
>>>>>               self._create_partition(self.path, part.type,
>>>>>                                      parted_fs_type, part.start,
>>>>> part.size_sec)
>>>>>
>>>>> +            if part.part_name:
>>>>> +                logger.debug("partition %d: set name to %s",
>>>>> +                             part.num, part.part_name)
>>>>> +                exec_native_cmd("sgdisk --change-name=%d:%s %s" % \
>>>>> +                                         (part.num, part.part_name,
>>>>> +                                          self.path), self.native_sysroot)
>>>>> +
>>>>>               if part.part_type:
>>>>>                   logger.debug("partition %d: set type UID to %s",
>>>>>                                part.num, part.part_type)
>>>>> --
>>>>> 2.13.6
>>>>>
>>>>> --
>>>>> _______________________________________________
>>>>> Openembedded-core mailing list
>>>>> Openembedded-core at lists.openembedded.org
>>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>>>
>>>>
>>>> --
>>>> --
>>>> Regards,
>>>> Ed
>>>> --
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>
>> --
>> Regards,
>> Ed
>>



More information about the Openembedded-core mailing list