summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/lib/wic/plugins/source/otaimage.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/scripts/lib/wic/plugins/source/otaimage.py b/scripts/lib/wic/plugins/source/otaimage.py
index 4b30776..1f82af7 100644
--- a/scripts/lib/wic/plugins/source/otaimage.py
+++ b/scripts/lib/wic/plugins/source/otaimage.py
@@ -19,6 +19,7 @@ import logging
19import os 19import os
20import sys 20import sys
21 21
22from wic import WicError
22from wic.plugins.source.rawcopy import RawCopyPlugin 23from wic.plugins.source.rawcopy import RawCopyPlugin
23from wic.misc import get_bitbake_var 24from wic.misc import get_bitbake_var
24 25
@@ -32,6 +33,18 @@ class OTAImagePlugin(RawCopyPlugin):
32 name = 'otaimage' 33 name = 'otaimage'
33 34
34 @classmethod 35 @classmethod
36 def _get_src_file(cls, image_dir_var):
37 """
38 Get OTA image file from image directory variable.
39 """
40 image_dir = get_bitbake_var(image_dir_var)
41 if not image_dir:
42 raise WicError("Couldn't find %s, exiting" % image_dir_var)
43
44 image_file = image_dir + "/" + get_bitbake_var("IMAGE_LINK_NAME") + ".ota-ext4"
45 return image_file if os.path.exists(image_file) else ""
46
47 @classmethod
35 def do_prepare_partition(cls, part, source_params, cr, cr_workdir, 48 def do_prepare_partition(cls, part, source_params, cr, cr_workdir,
36 oe_builddir, bootimg_dir, kernel_dir, 49 oe_builddir, bootimg_dir, kernel_dir,
37 rootfs_dir, native_sysroot): 50 rootfs_dir, native_sysroot):
@@ -39,13 +52,12 @@ class OTAImagePlugin(RawCopyPlugin):
39 Called to do the actual content population for a partition i.e. it 52 Called to do the actual content population for a partition i.e. it
40 'prepares' the partition to be incorporated into the image. 53 'prepares' the partition to be incorporated into the image.
41 """ 54 """
42 bootimg_dir = get_bitbake_var("IMGDEPLOYDIR")
43 if not bootimg_dir:
44 logger.error("Couldn't find DEPLOY_DIR_IMAGE, exiting\n")
45
46 logger.debug('Bootimg dir: %s' % bootimg_dir)
47 55
48 src = bootimg_dir + "/" + get_bitbake_var("IMAGE_LINK_NAME") + ".ota-ext4" 56 src = cls._get_src_file("IMGDEPLOYDIR")
57 if not src:
58 src = cls._get_src_file("DEPLOY_DIR_IMAGE")
59 if not src:
60 raise WicError("Couldn't find ota image in IMGDEPLOYDIR or DEPLOY_DIR_IMAGE, exiting")
49 61
50 logger.debug('Preparing partition using image %s' % (src)) 62 logger.debug('Preparing partition using image %s' % (src))
51 source_params['file'] = src 63 source_params['file'] = src