summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/plugins
Commit message (Collapse)AuthorAgeFilesLines
* wic: Code cleanup: unused importsEd Bartosh2015-07-022-4/+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/+3
| | | | | | | | | | 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-022-12/+3
| | | | | | | | | | | | | | | | | | 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: Add new argument to direct pluginEd Bartosh2015-06-271-1/+3
| | | | | | | | | | 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: code cleanup: superfluous-parensEd Bartosh2015-06-232-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: Add missing docstrings to plugin classesEd Bartosh2015-06-237-0/+35
| | | | | | | | | | | | Docstings from plugin classes are used as part of output of 'wic help plugins'. Adding them makes help page more informative. (From OE-Core rev: d4414b45c81ab539f75a7bb16fc6412c30dfc45f) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: bad-classmethod-argumentEd Bartosh2015-06-237-23/+23
| | | | | | | | | | | | Fixed wrong name for the first argument in class methods. Pylint complains about the issue this way: Class method should have 'cls' as first argument (From OE-Core rev: cd7c72d6d5a5110173d0d3f60f2991b1dc30fc26) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Move validation of --ptable option to wks parserEd Bartosh2015-06-113-25/+6
| | | | | | | | | | | | | bootloader --ptable option has two valid choices: gpt and msdos Moved this check to wks parser by changing option type to 'choice'. Removed similar checks from 5 other places. (From OE-Core rev: b812d0f40423bc56394cc8b6fc92eb1f477dba1b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Refactored getting root device nameEd Bartosh2015-06-113-8/+4
| | | | | | | | | | | | | Replaced DirectImageCreator._get_boot_config private method with a 'rootdev' property. Simplified the code and API. Used 'uuid' property instead of incorrectly used 'part_type'. (From OE-Core rev: 4a303007149ea1205bbd454e70810e7dfa343d4c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Make _ptable_format publicEd Bartosh2015-06-113-10/+10
| | | | | | | | | | | | | | | Names with one leasding underscore considered protected in Python. _ptable_format is accessed outside of its class. Made it public by removing underscore. This pylint warning should be fixed now: Access to a protected member _ptable_format of a client class (From OE-Core rev: 72599b5500ebdd0c418a0ef1e2c93c833bd31d75) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use gptmbr.bin MBR for gpt partitionsEd Bartosh2015-06-112-1/+13
| | | | | | | | | | | Used proper syslinux MBR gptmbr.bin for GPT partitons. Added check for unsupported partition formats. (From OE-Core rev: 6174983e20bd24422e5cee57e78dce9c92cb3c15) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add gpt to the list of supported partition table formatsEd Bartosh2015-06-113-4/+4
| | | | | | | | | | | Only msdos partition table format was supported by wic source plugins. (From OE-Core rev: 0e119d469796a19fbeae61a7162fd70660c936a5) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add plugin for single partition diskAdrian Freihofer2015-05-031-0/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wic plugin creates a disk image containig one ext2/3/4 partition. No additional boot partition is required. Syslinux is installed into the image. The target device is a legacy BIOS PC. Purpose of this plugin: Other avaliable plugins create a fat partition for /boot and an ext partition for rootfs. Current linux-yocto kernel packages are not compatible with this disk layout. The boot partition is not mounted by default, hence the kernel is installed into rootfs and not into boot partition. A kernel update ends up in a bricked device. The old kernel which is still in boot likely does not even boot with updated kernel modules from /. Even if the boot partition is mounted during the kernel update the update will fail. The kernel package installs a symbolic link which is not supported by the fat partition. Creating just one ext partition for boot and rootfs solves all issues related to package based kernel updates on the device. The plugin depends on syslinux-nomtools a user space installer for syslinux on ext filesystems. Thanks to Robert Yang who implemented syslinux-nomtools and supported the implementation of this plugin. (From OE-Core rev: 4a7bd79b5100a496c9b1597b57d6dc18ba2b9c83) Signed-off-by: Adrian Freihofer <adrian.freihofer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: wildcard importsEd Bartosh2015-04-246-22/+10
| | | | | | | | | | | | | 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: code cleanup: undefined variablesEd Bartosh2015-04-242-2/+2
| | | | | | | | | | Fixed forgoten imports Wic_PartData and ImageError. Removed unused and undefined variable syslinux_conf. (From OE-Core rev: db0903ad89dcb655c0eec5ac6dce96aae26533da) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: rawcopy: ensure comparison is done on intAlexandre Belloni2015-04-091-1/+1
| | | | | | | | | | The size comparison may fail because it is done on strings rather than integers. (From OE-Core rev: 2ef885329cfd0351f551a33dcf3f42e25f38dea7) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: code cleanup: unused importsEd Bartosh2015-04-096-15/+0
| | | | | | | | | Fixed pylint warning 'Unused import' (From OE-Core rev: dfde8bdae3ae151ffed5777b920d24c774e5da2c) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: rawcopy: support skippingAlexandre Belloni2015-03-101-2/+9
| | | | | | | | | | | Add support for skipping the beginning of a file with the rawcopy plugin. (From OE-Core rev: 89db37c85ac0d0035dbeb9643d7802ca28681e76) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add fsimage pluginAlexandre Belloni2015-03-101-0/+70
| | | | | | | | | | | The fsimage plugin allows to add an already existing filesystem image in the partition layout. (From OE-Core rev: b49e5af8c6ef0abaabce36e5e7d8ddc399e02f53) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add rawcopy source pluginAlexandre Belloni2015-02-141-0/+77
| | | | | | | | (From OE-Core rev: 5f237238a1fab87668068d042ac86b67d2c5224b) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: bootimg-partition: Stop removing whole workdirAlexandre Belloni2015-02-081-1/+1
| | | | | | | | | | | | Stop removing the whole working directory as this is also removing eventual previously created partition images, leading to image creation failures. (From OE-Core rev: 2d3c9f89852bd009fc7accee495ede2fbcadc3bb) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: use kB for the partitions sizeAlexandre Belloni2015-02-082-2/+2
| | | | | | | | | | | | | | | | | | Use kB instead of MB for the partition size to get a better granularity. This is needed on some SoC (i.mx, omap) where it is necessary to create partitions as small as 64kB. Keep the backward compatibility by assuming MB when no unit is provided. (From OE-Core rev: 3d4da9186016d54b76ad2fa710646de253f0f063) Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Tested-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Acked-by: Tom Zanussi <tom.zanussi@linux.intel.com> Tested-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: add globbing support in IMAGE_BOOT_FILES entriesMaciej Borzecki2014-12-191-9/+32
| | | | | | | | | | | | | | Adding glob support for entries in IMAGE_BOOT_FILES. Files picked up by glob are by default installed under their basename, as this is likely most common use case. Target name for globbed entries specifies the name of directory in which files will be installed withing the partition. (From OE-Core rev: 2c9635bdb97ddc80750c11d356e153a99d61cf09) Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: IMAGE_BOOT_FILES format checks in bootimg-partition sourceMaciej Borzecki2014-12-191-0/+2
| | | | | | | | | | | | Check for malformed entries in IMAGE_BOOT_FILES, fail early if such entries were found. (From OE-Core rev: e56072aaaad6cfa222853a4e9e68dd8aa861de18) Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Update bootimg-partition to use bootimg_dirTom Zanussi2014-10-301-2/+7
| | | | | | | | | | | | | | | Update bootimg-partition to use bootimg_dir instead of img_deploy_dir, to match similar usage in other plugins. As mentioned elsewhere, plugins should use the passed-in value for bootimg_dir directly if non-null, which corresponds to a user-assigned value specified via a -b command-line param, and only fetch the value from bitbake if that value is null. (From OE-Core rev: 3822f8a7b33da56ecd9144b4bcae50734fb1af81) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove special-case bootimg_dirTom Zanussi2014-10-303-17/+11
| | | | | | | | | | | | | | | | | | | | 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>
* wic/bootimg-pcbios.py: checking the existance of syslinuxHongxu Jia2014-10-181-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | While syslinux not existed in $bootimg_dir, there was a error: $ wic create directdisk -e core-image-minimal ... |Creating image(s)... |Error: exec_cmd: install -m 444 /home/jiahongxu/yocto/ build-20141010-yocto/tmp/deploy/images/qemux86-64/syslinux/ ldlinux.sys /var/tmp/wic/build/hdd/boot/ldlinux.sys returned '1' instead of 0 ... Add checking for the existance of syslinux to fix this issue. If syslinux didn't exist in anywhere, prompt user to build it. [YOCTO #6826] (From OE-Core rev: c2d4364d9fbbda64598f0a3eb0b0890932bb7742) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add new bootimg-partition pluginMaciej Borzecki2014-09-231-0/+108
| | | | | | | | | | | | This patch implements 'bootimg-partition source plugin class for 'wic'. The plugin creates an image of boot partition, copying over files listed in IMAGE_BOOT_FILES bitbake variable. (From OE-Core rev: 4a3200d710d953956064c28188577fbd461d093d) 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: Add gummiboot support to bootimg-efiTom Zanussi2014-08-151-22/+91
| | | | | | | | | | Add gummiboot support to bootimg-efi, which retains the existing grub-efi support (though requires an update to the .wks file). (From OE-Core rev: f1a81fcefa493540a9faac549fdd513b86f8f497) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add sourceparam param to partition plugin methodsTom Zanussi2014-08-153-10/+15
| | | | | | | | | | | The sourceparam param allows source plugins to be parameterized generically (via --sourceparams="key=val[,key=val], implemented previously). (From OE-Core rev: 2abbcc843ba888782f6d68748d930c81e6ae7040) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Rename /mic to /wicTom Zanussi2014-08-114-0/+549
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>