summaryrefslogtreecommitdiffstats
path: root/scripts/lib/image/engine.py
Commit message (Collapse)AuthorAgeFilesLines
* wic: get rid of scripts/lib/imageEd Bartosh2015-09-031-241/+0
| | | | | | | | | | | Moved content of scripts/lib/image/ to scripts/lib/wic as one directory with the same name as a tool is self-explanatory and less confusing than two. (From OE-Core rev: 5dc02d572794298b3362378cea3d7da654456c44) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: unused importsEd Bartosh2015-07-021-9/+1
| | | | | | | | | Fixed pylint warning unused-import (From OE-Core rev: e77fda5fb6cb0a35308e4620ca4602715a471fbe) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: long lines, identation and whitespacesEd Bartosh2015-07-021-1/+4
| | | | | | | | | | Fixed pylint warnings bad-continuation, bad-continuation and line-too-long. (From OE-Core rev: db43e59f41b6bc19152cd4743585a3217015e272) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Refactor getting bitbake variablesEd Bartosh2015-07-021-23/+0
| | | | | | | | | | | | | | | | | | Wic gets bitbake variables by parsing output of 'bitbake -e' command. This implementation improves this procedure as it runs 'bitbake -e' only when API is called and does it only once, i.e. in a "lazy" way. As parsing results are cached 'bitbake -e' is run only once and results are parsed only once per requested set of variables. get_bitbake_var became the only API call. It replaces find_artifacts, find_artifact, find_bitbake_env_lines, get_bitbake_env_lines, set_bitbake_env_lines and get_line_val calls making API much more clear. (From OE-Core rev: 3abe23bd217315246ec2d98dc9c390b85cfe6a92) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Make code more pythonicEd Bartosh2015-06-271-12/+2
| | | | | | | | | Used more pythonic way to make a list. (From OE-Core rev: 42b86a1654452348036c5d348d2fa5fe27e98245) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add new argument to direct pluginEd Bartosh2015-06-271-0/+1
| | | | | | | | | | Added 'compressor' argument to Direct plugin API to pass a name of compressor utility. (From OE-Core rev: 34c583274c2908351e3a84dd629302f1975f2f0d) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add new argument to wic_create functionEd Bartosh2015-06-271-1/+3
| | | | | | | | | | Added 'compressor' argument to wic_create to pass a name of compressor utility to the wic engine. (From OE-Core rev: 33d38aefb06f8849b46c5f9f6c1db73b4dccd985) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: removed unused command line optionEd Bartosh2015-06-231-5/+2
| | | | | | | | | | | Removed -i/--infile wic command line option. Removed properties_file and properties arguments of wic_create function. (From OE-Core rev: 6b81c89878236b2ef8d8b8217f2e33286b49dab6) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: superfluous-parensEd Bartosh2015-06-231-3/+3
| | | | | | | | | | Removed unncecessary parents after 'if' 'del' and 'print' keywords. Fixed pyling warning: Unnecessary parens after 'xxx' keyword (From OE-Core rev: a64604d11f75973b4c2347fa2669da9889e44013) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: wildcard importsEd Bartosh2015-04-241-9/+9
| | | | | | | | | | | | | Here is what PEP8(Style Guide for Python Code) says about this: Wildcard imports (from <module> import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools. (From OE-Core rev: 13416c1941f5dc8abcdb0073f2104a89eae2d6f1) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Fix kernel dir locationTom Zanussi2015-02-211-3/+3
| | | | | | | | | | | | | | | With the recent kernel staging changes, STAGING_KERNEL_DIR no longer points to the kernel image, which can be found however in DEPLOY_DIR_IMAGE. This updates find_artifacts() to look there instead. Fixes [YOCTO #7307]. (From OE-Core rev: 453d0a9823665870e273a37657d6e27fb788d72e) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove special-case bootimg_dirTom Zanussi2014-10-301-28/+9
| | | | | | | | | | | | | | | | | | | | The first iterations of wic very shortsightedly catered to two specific use-cases and added special-purpose params for those cases so that they could be directly given their corresponding boot artifacts. (hdddir and staging_data_dir). As more use-cases are added, it becomes rather obvious that such a scheme doens't scale, and additionally causes confusion for plugin writers. This removes those special cases and states explicitly in the help text that plugins are responsible for locating their own boot artifacts. (From OE-Core rev: 6ba3eb5ff7c47aee6b3419fb3a348a634fe74ac9) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "wic: set bootimg_dir when using image-name artifacts"Tom Zanussi2014-10-301-7/+2
| | | | | | | | | | | | | | | | This reverts commit 7ce1dc13f91df70e8a2f420e7c3eba51cbc4bd48. This patch broke the assumption that a non-null boot_dir means a user-assigned (-b command-line param) value. Reverting doesn't break anything, since the case it was added for doesn't use the boot_dir for anything except debugging anyhow. Fixes [YOCTO #6290] (From OE-Core rev: db90f10bf31dec8d7d7bb2d3680d50e133662850) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: set bootimg_dir when using image-name artifactsMaciej Borzecki2014-09-231-2/+7
| | | | | | | | | | | | | Running wic with -e to use artifacts from a named image, bootimg_dir was always passed as empty string to partition source plugins. The patch sets bootimg_dir to current value of DEPLOY_DIR_IMAGE, as bootloader artifacts end up in that location as well. (From OE-Core rev: d7f69e6f0932a927b6ce289fb47ba575d7aaa1c8) Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Rename /mic to /wicTom Zanussi2014-08-111-6/+6
| | | | | | | | | | | | | As well as any other stray instances of mic in the codebase that can be removed. We don't really need to carry around legacy naming, and the history is in git. (From OE-Core rev: 598b120406dc1d2b7e377bd1ab6f0acbef034b22) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add command to list available source pluginsTom Zanussi2014-07-101-0/+13
| | | | | | | | | | | | | Add a 'wic list source-plugins' command enabling users to get a list of valid partition --sources. This is useful not only for determining sources to use in .wks partition statements, but also for making sense of errors in .wks partition processing. (From OE-Core rev: 37db9423e7872012fabde67e8858db5b512832f6) 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>
* wic: check if BBLAYERS is valid before useJoão Henrique Ferreira de Freitas2014-06-061-3/+4
| | | | | | | | | | | | If wic is running as raw mode, it's better to check if BBLAYERS is valid before inspect it. No functional changes. (From OE-Core rev: a3ee9cc7aebaecfa2223552a2c1865a9337de664) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add support to look in all layers and get .wks fileJoão Henrique Ferreira de Freitas2014-05-211-29/+43
| | | | | | | | | | | | | | | .wks file are looked in 'scripts/lib/image/canned-wks' directory on all BBLAYERS variable returned by bitbake environment. If found, it will be used. The user could create your own .wks and keep it inside its layers. For now the path must be <layer-dir>/scripts/lib/image/canned-wks. (From OE-Core rev: 1f3e312211f277a1befd707a59a0c0a9bf6cbcbc) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Move find_bitbake_env_line() to oe.miscJoão Henrique Ferreira de Freitas2014-05-131-17/+0
| | | | | | | | | | Move find_bitbake_env_line() since they're going to need to be accessible from source plugins. (From OE-Core rev: d881ec6136255fd0f4a8cf36f9ce148ade02c103) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Fix bitbake_env_command for 'None' caseTom Zanussi2014-03-301-1/+4
| | | | | | | | | | bitbake_env_command will choke if it isn't given an image, make sure it does the right thing in that case. (From OE-Core rev: a17f879cd5bc7401597ccee908801f8e3efa34c0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Hook up --debug optionTom Zanussi2014-02-041-1/+4
| | | | | | | | | | | Hook up the existing --debug option to toggle the wic debug loglevel, which is indispensible when things go wrong, and make it easy to use from the command-line. (From OE-Core rev: a5ece6f37656fa56b97fd8faf52917345238d015) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Create and use new functions for getting bitbake variablesTom Zanussi2014-02-041-5/+15
| | | | | | | | | | Add get_bitbake_var() and bitbake_env_lines() functions for use by plugins, which will need access to them for customization. (From OE-Core rev: f0bb47b0d7ab6520c105ce131844269172de3efd) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Move some common items to oe.miscTom Zanussi2014-02-041-11/+0
| | | | | | | | | | Move a couple items into a more common location since they're going to need to be accessible from source plugins. (From OE-Core rev: 95ca523949e838850b5afa090ba16f91b8557c12) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Initialize return values in find_artifacts()Tom Zanussi2013-10-181-0/+2
| | | | | | | | | | If one of these isn't found, it won't be initialized and will throw an UnboundLocalError. (From OE-Core rev: ce6c3ec0e5f4822e85b8f957e9e31fa9de438c55) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add OpenEmbedded-specific implementationTom Zanussi2013-10-011-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* wic: Initial code for wic (OpenEmbedded Image Creator)Tom Zanussi2013-10-011-0/+256
Initial implementation of the 'wic' command. The 'wic' command generates partitioned images from existing OpenEmbedded build artifacts. Image generation is driven by partitioning commands contained in an 'Openembedded kickstart' (.wks) file specified either directly on the command-line or as one of a selection of canned .wks files (see 'wic list images'). When applied to a given set of build artifacts, the result is an image or set of images that can be directly written onto media and used on a particular system. 'wic' is based loosely on the 'mic' (Meego Image Creator) framework, but heavily modified to make direct use of OpenEmbedded build artifacts instead of package installation and configuration, things already incorporated int the OE artifacts. The name 'wic' comes from 'oeic' with the 'oe' diphthong promoted to the letter 'w', because 'oeic' is impossible to remember or pronounce. This covers the mechanics of invoking and providing help for the command and sub-commands; it contains hooks for future commits to connect with the actual functionality, once implemented. Help is integrated into the 'wic' command - see that for details on usage. (From OE-Core rev: 95455ae4251e06d66e60945092b784d2d9ef165c) 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>