summaryrefslogtreecommitdiffstats
path: root/scripts/lib
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-04-28 13:58:10 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-05-06 10:31:13 +0100
commitdb9557cc46ff643ab894bbf724c9952290cd9f22 (patch)
tree3e5665e0f6df82b4a75adccbc9d6f09889c6d924 /scripts/lib
parent4b971568e142952aa4c71ebc7a1f5326717ff210 (diff)
downloadpoky-db9557cc46ff643ab894bbf724c9952290cd9f22.tar.gz
wic: use sparse_copy to copy partitions
Copied partition images into final partitioned image using sparse_copy API. This method preserves sparseness of the final image. It also makes wic much faster, as unmapped blocks of the partition images are not copied. [YOCTO #9099] (From OE-Core rev: 7f21427aca5df81d8881027fd98f71b821cf31d7) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
-rw-r--r--scripts/lib/wic/utils/partitionedfs.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/scripts/lib/wic/utils/partitionedfs.py b/scripts/lib/wic/utils/partitionedfs.py
index 4170ec1918..534635b2ac 100644
--- a/scripts/lib/wic/utils/partitionedfs.py
+++ b/scripts/lib/wic/utils/partitionedfs.py
@@ -22,6 +22,7 @@ import os
22from wic import msger 22from wic import msger
23from wic.utils.errors import ImageError 23from wic.utils.errors import ImageError
24from wic.utils.oe.misc import exec_cmd, exec_native_cmd 24from wic.utils.oe.misc import exec_cmd, exec_native_cmd
25from wic.filemap import sparse_copy
25 26
26# Overhead of the MBR partitioning scheme (just one sector) 27# Overhead of the MBR partitioning scheme (just one sector)
27MBR_OVERHEAD = 1 28MBR_OVERHEAD = 1
@@ -343,10 +344,7 @@ class Image(object):
343 source = part['source_file'] 344 source = part['source_file']
344 if source: 345 if source:
345 # install source_file contents into a partition 346 # install source_file contents into a partition
346 cmd = "dd if=%s of=%s bs=%d seek=%d count=%d conv=notrunc" % \ 347 sparse_copy(source, image_file, part['start'] * self.sector_size)
347 (source, image_file, self.sector_size,
348 part['start'], part['size'])
349 exec_cmd(cmd)
350 348
351 msger.debug("Installed %s in partition %d, sectors %d-%d, " 349 msger.debug("Installed %s in partition %d, sectors %d-%d, "
352 "size %d sectors" % \ 350 "size %d sectors" % \