diff options
Diffstat (limited to 'scripts/lib/wic/imager')
-rw-r--r-- | scripts/lib/wic/imager/direct.py | 23 |
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 | |||
28 | import shutil | 28 | import shutil |
29 | 29 | ||
30 | from wic import msger | 30 | from wic import msger |
31 | from wic.utils import fs_related | ||
32 | from wic.utils.oe.misc import get_bitbake_var | 31 | from wic.utils.oe.misc import get_bitbake_var |
33 | from wic.utils.partitionedfs import Image | 32 | from wic.utils.partitionedfs import Image |
34 | from wic.utils.errors import CreatorError, ImageError | 33 | from 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 | ||
42 | class 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 | |||
43 | class DirectImageCreator(BaseImageCreator): | 62 | class 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 | ||