[OE-core] [PATCH] wic: support filesystem label for rawcopy

Ed Bartosh ed.bartosh at linux.intel.com
Wed Nov 29 07:16:02 UTC 2017


On Tue, Nov 28, 2017 at 01:56:11PM +0100, Martin Hundebøll wrote:
> The '--label' argument should work for '--source rawcopy' as it does for
> '--source rootfs', so add a method in RawCopyPlugin to update the label
> on the temporary filesystem images.
> 
> Signed-off-by: Martin Hundebøll <mnhu at prevas.dk>

Thank you for the patch!

+1

> ---
>  scripts/lib/wic/plugins/source/rawcopy.py | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/scripts/lib/wic/plugins/source/rawcopy.py b/scripts/lib/wic/plugins/source/rawcopy.py
> index 424ed26ed6..e86398ac8f 100644
> --- a/scripts/lib/wic/plugins/source/rawcopy.py
> +++ b/scripts/lib/wic/plugins/source/rawcopy.py
> @@ -32,6 +32,25 @@ class RawCopyPlugin(SourcePlugin):
>  
>      name = 'rawcopy'
>  
> +    @staticmethod
> +    def do_image_label(fstype, dst, label):
> +        if fstype.startswith('ext'):
> +            cmd = 'tune2fs -L %s %s' % (label, dst)
> +        elif fstype in ('msdos', 'vfat'):
> +            cmd = 'dosfslabel %s %s' % (dst, label)
> +        elif fstype == 'btrfs':
> +            cmd = 'btrfs filesystem label %s %s' % (dst, label)
> +        elif fstype == 'swap':
> +            cmd = 'mkswap -L %s %s' % (label, dst)
> +        elif fstype == 'squashfs':
> +            raise WicError("It's not possible to update a squashfs "
> +                           "filesystem label '%s'" % (label))
> +        else:
> +            raise WicError("Cannot update filesystem label: "
> +                           "Unknown fstype: '%s'" % (fstype))
> +
> +        exec_cmd(cmd)
> +
>      @classmethod
>      def do_prepare_partition(cls, part, source_params, cr, cr_workdir,
>                               oe_builddir, bootimg_dir, kernel_dir,
> @@ -66,4 +85,7 @@ class RawCopyPlugin(SourcePlugin):
>          if filesize > part.size:
>              part.size = filesize
>  
> +        if part.label:
> +            RawCopyPlugin.do_image_label(part.fstype, dst, part.label)
> +
>          part.source_file = dst
> -- 
> 2.15.0
> 
> -- 
> _______________________________________________
> 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