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

Artur Madrzak artur at madrzak.eu
Tue Oct 31 15:18:43 UTC 2017


Hi,

The patchwork is complaining because by mistake I sent patch for Morty branch as master one. I have some issues with sending patches to the group by git send-email but I'll send formatted patch soon. 

Dnia 31 października 2017 16:08:58 CET, Nicolas Dechesne <nicolas.dechesne at linaro.org> napisał(a):
>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.
>
>
>>
>>
>> > 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

-- Wysłane za pomocą K-9 Mail.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20171031/70ee662b/attachment-0002.html>


More information about the Openembedded-core mailing list