summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/imager
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/lib/wic/imager')
-rw-r--r--scripts/lib/wic/imager/direct.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/scripts/lib/wic/imager/direct.py b/scripts/lib/wic/imager/direct.py
index 1937042e1a..319ec1654d 100644
--- a/scripts/lib/wic/imager/direct.py
+++ b/scripts/lib/wic/imager/direct.py
@@ -28,7 +28,6 @@ import os
28import shutil 28import shutil
29 29
30from wic import msger 30from wic import msger
31from wic.utils import fs_related
32from wic.utils.oe.misc import get_bitbake_var 31from wic.utils.oe.misc import get_bitbake_var
33from wic.utils.partitionedfs import Image 32from wic.utils.partitionedfs import Image
34from wic.utils.errors import CreatorError, ImageError 33from wic.utils.errors import CreatorError, ImageError
@@ -40,6 +39,26 @@ disk_methods = {
40 "do_install_disk":None, 39 "do_install_disk":None,
41} 40}
42 41
42class DiskImage():
43 """
44 A Disk backed by a file.
45 """
46 def __init__(self, device, size):
47 self.size = size
48 self.device = device
49 self.created = False
50
51 def exists(self):
52 return os.path.exists(self.device)
53
54 def create(self):
55 if self.created:
56 return
57 # create sparse disk image
58 cmd = "truncate %s -s %s" % (self.device, self.size)
59 exec_cmd(cmd)
60 self.created = True
61
43class DirectImageCreator(BaseImageCreator): 62class DirectImageCreator(BaseImageCreator):
44 """ 63 """
45 Installs a system into a file containing a partitioned disk image. 64 Installs a system into a file containing a partitioned disk image.
@@ -280,7 +299,7 @@ class DirectImageCreator(BaseImageCreator):
280 full_path = self._full_path(self.__imgdir, disk_name, "direct") 299 full_path = self._full_path(self.__imgdir, disk_name, "direct")
281 msger.debug("Adding disk %s as %s with size %s bytes" \ 300 msger.debug("Adding disk %s as %s with size %s bytes" \
282 % (disk_name, full_path, disk['min_size'])) 301 % (disk_name, full_path, disk['min_size']))
283 disk_obj = fs_related.DiskImage(full_path, disk['min_size']) 302 disk_obj = DiskImage(full_path, disk['min_size'])
284 self.__disks[disk_name] = disk_obj 303 self.__disks[disk_name] = disk_obj
285 self.__image.add_disk(disk_name, disk_obj) 304 self.__image.add_disk(disk_name, disk_obj)
286 305