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

Artur Mądrzak artur at madrzak.eu
Thu Nov 2 10:01:05 UTC 2017


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).


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
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-wic-add-part-name-argument-for-naming-GPT-partitions.patch
Type: text/x-patch
Size: 4013 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20171102/5c0cb362/attachment-0002.bin>


More information about the Openembedded-core mailing list