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

Philip Balister philip at balister.org
Mon Jun 29 15:45:07 UTC 2015


On 06/27/2015 06:20 PM, João Henrique Ferreira de Freitas wrote:
> Hi,
> 
> Maybe using an environment variable?
> 

Handle it the same way we handle PARALLEL_MAKE and BBTHREADS.

Philip

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