summaryrefslogtreecommitdiffstats
path: root/scripts/lib/image/engine.py
diff options
context:
space:
mode:
authorTom Zanussi <tom.zanussi@linux.intel.com>2013-09-19 04:32:19 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-01 22:56:03 +0100
commit75c143a7aef46ecea07cf33edd2b1a0192e10149 (patch)
treefe0eb61a0dfda72e52b01385129f6282814581b6 /scripts/lib/image/engine.py
parent9fc88f96d40b17c90bac53b90045a87b2d2cff84 (diff)
downloadpoky-75c143a7aef46ecea07cf33edd2b1a0192e10149.tar.gz
wic: Add OpenEmbedded-specific implementation
Reuses the mic/livecd infrastructure but heavily subclasses and modifies it to adapt to the special needs of building images from existing OpenEmbedded build artifacts. In addition to the OE-specific mic objects and modifications to the underlying infrastructure, this adds a mechanism to allow OE kickstart files to be 'canned' and made available to users via the 'wic list images' command. Two initial OE kickstart files have been added as canned .wks files: directdisk, which implements the same thing as the images created by directdisk.bbclass, and mkefidisk, which can essentially be used as a replacement for mkefidisk.sh. Of course, since creation of these images are now driven by .wks files rather than being hard-coded into class files or scripts, they can be easily modified to generate different variations on those images. They also don't require root priveleges, since they don't use mount to create the images. They don't however write to media like mkefidisk.sh does, but rather create images that can be written onto media. (From OE-Core rev: f87acc5e59d3c2c39ff171b5557977dab4c8f4a6) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib/image/engine.py')
-rw-r--r--scripts/lib/image/engine.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/scripts/lib/image/engine.py b/scripts/lib/image/engine.py
index a9b530cc04..be29222df1 100644
--- a/scripts/lib/image/engine.py
+++ b/scripts/lib/image/engine.py
@@ -37,6 +37,12 @@ import subprocess
37import shutil 37import shutil
38 38
39import os, sys, errno 39import os, sys, errno
40from mic import msger, creator
41from mic.utils import cmdln, misc, errors
42from mic.conf import configmgr
43from mic.plugin import pluginmgr
44from mic.__version__ import VERSION
45from mic.utils.oe.misc import *
40 46
41 47
42def verify_build_env(): 48def verify_build_env():
@@ -216,6 +222,24 @@ def wic_create(args, wks_file, rootfs_dir, bootimg_dir, kernel_dir,
216 print "BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)" 222 print "BUILDDIR not found, exiting. (Did you forget to source oe-init-build-env?)"
217 sys.exit(1) 223 sys.exit(1)
218 224
225 direct_args = list()
226 direct_args.insert(0, oe_builddir)
227 direct_args.insert(0, image_output_dir)
228 direct_args.insert(0, wks_file)
229 direct_args.insert(0, rootfs_dir)
230 direct_args.insert(0, bootimg_dir)
231 direct_args.insert(0, kernel_dir)
232 direct_args.insert(0, native_sysroot)
233 direct_args.insert(0, hdddir)
234 direct_args.insert(0, staging_data_dir)
235 direct_args.insert(0, "direct")
236
237 cr = creator.Creator()
238
239 cr.main(direct_args)
240
241 print "\nThe image(s) were created using OE kickstart file:\n %s" % wks_file
242
219 243
220def wic_list(args, scripts_path, properties_file): 244def wic_list(args, scripts_path, properties_file):
221 """ 245 """