[OE-core] [wic][PATCH 4/6] wic: Implement image compressing

João Henrique Ferreira de Freitas joaohf at gmail.com
Sat Jun 27 22:20:25 UTC 2015


Hi,

Maybe using an environment variable?



On 24/06/2015 12:23, Ed Bartosh wrote:
> On Tue, Jun 23, 2015 at 07:22:49AM -0400, Philip Balister wrote:
>> Can you add a way to enable multiple threads for xz? I found this helps
>> speed up file creation.
>>
> I thought about this and other compressor options, but didn't find a good
> way to add them. Introducing new commandline option or config value doesn't
> look convenient to use from my point of view.
>
> Can you propose something better than that?
>
> Regards,
> Ed
>
>> Philip
>>
>> On 06/23/2015 05:53 AM, Ed Bartosh wrote:
>>> Implemented compressing result image with specified compressor.
>>> Updated reporting code to show compressed image.
>>>
>>> [YOCTO #7593]
>>>
>>> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
>>>
>>> diff --git a/scripts/lib/wic/imager/direct.py b/scripts/lib/wic/imager/direct.py
>>> index f3f20e0..2ea7e4e 100644
>>> --- a/scripts/lib/wic/imager/direct.py
>>> +++ b/scripts/lib/wic/imager/direct.py
>>> @@ -33,6 +33,7 @@ from wic.utils.partitionedfs import Image
>>>   from wic.utils.errors import CreatorError, ImageError
>>>   from wic.imager.baseimager import BaseImageCreator
>>>   from wic.plugin import pluginmgr
>>> +from wic.utils.oe.misc import exec_cmd
>>>   
>>>   disk_methods = {
>>>       "do_install_disk":None,
>>> @@ -71,6 +72,7 @@ class DirectImageCreator(BaseImageCreator):
>>>           self.bootimg_dir = bootimg_dir
>>>           self.kernel_dir = kernel_dir
>>>           self.native_sysroot = native_sysroot
>>> +        self.compressor = compressor
>>>   
>>>       def __get_part_num(self, num, parts):
>>>           """calculate the real partition number, accounting for partitions not
>>> @@ -318,6 +320,13 @@ class DirectImageCreator(BaseImageCreator):
>>>                                                           self.bootimg_dir,
>>>                                                           self.kernel_dir,
>>>                                                           self.native_sysroot)
>>> +        # Compress the image
>>> +        if self.compressor:
>>> +            for disk_name, disk in self.__image.disks.items():
>>> +                full_path = self._full_path(self.__imgdir, disk_name, "direct")
>>> +                msger.debug("Compressing disk %s with %s" % \
>>> +                            (disk_name, self.compressor))
>>> +                exec_cmd("%s %s" % (self.compressor, full_path))
>>>   
>>>       def print_outimage_info(self):
>>>           """
>>> @@ -328,7 +337,11 @@ class DirectImageCreator(BaseImageCreator):
>>>           parts = self._get_parts()
>>>   
>>>           for disk_name, disk in self.__image.disks.items():
>>> -            full_path = self._full_path(self.__imgdir, disk_name, "direct")
>>> +            extension = "direct" + {"gzip": ".gz",
>>> +                                    "bzip2": ".bz2",
>>> +                                    "xz": ".xz",
>>> +                                    "": ""}.get(self.compressor)
>>> +            full_path = self._full_path(self.__imgdir, disk_name, extension)
>>>               msg += '  %s\n\n' % full_path
>>>   
>>>           msg += 'The following build artifacts were used to create the image(s):\n'
>>>




More information about the Openembedded-core mailing list