summaryrefslogtreecommitdiffstats
path: root/scripts/lib/wic/plugins/source
Commit message (Collapse)AuthorAgeFilesLines
* wic: get rid of get_rootfs and set_rootfsEd Bartosh2016-01-183-15/+15
| | | | | | | | | | | Got rid of get_rootfs and set_rootfs java-like getter and setter. Renamed rootfs to rootfs_dir to be consistent with the name of kickstart parameter --rootfs-dir. (From OE-Core rev: 51ec52a62ce49d1a1a83489379990f78cfe849f9) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: get rid of get_timeout getterEd Bartosh2016-01-184-32/+16
| | | | | | | | | | | | | | | | Used bootloader.timeout instead of kickstart.get_timeout getter. Accessing attributes instead of getting them with getters is more pythonic, shorter and readable. It also more consistent as most of partition and bootloader attributes are used this way. This change also takes care of appendLine bootloader attribute: it's renamed to bootloader.append attribute provided by new parser. (From OE-Core rev: 8088caeff5bf4ee9279b47a69c9f1e5537909601) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: adjust code for new data structureEd Bartosh2016-01-182-3/+3
| | | | | | | | | | | | New data structure is less nested than old one. Adjusted bootloader and partitions fields: self.ks.handler.bootloader -> self.ks.bootoader self.ks.handler.partitions -> self.ks.partitions (From OE-Core rev: b46da0731e3f7016d0ab2a67967f07c7e199f219) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: rawcopy: Copy source file to build folderNoor Ahsan2016-01-071-3/+4
| | | | | | | | | | | | | | | | When a file is given using --sourceparams then wic directly use that file instead of copying them to build folder. At time of assembling it os.rename is called which renames all the files to name. In that process the original file is renamed. When image recipe is rebuilt then wic complains about missing file which was renamed in previous build. [YOCTO #8854] (From OE-Core rev: 33c52b1f2d39feb641465bf42e8b16d0ab22a316) 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: Allow to use a custom config for bootloadersMariano Lopez2015-12-092-46/+93
| | | | | | | | | | | | | | | | This change will allow to use a user defined file as the configuration for the bootloaders (grub, gummiboot, syslinux). The config file is defined in the wks file with the "configfile" option in the bootloader line. [YOCTO #8728] (From OE-Core rev: d56546b0f312fd042b1a7df3bef97ac1c9b6a5b4) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix short variable namesEd Bartosh2015-09-033-43/+43
| | | | | | | | | | | | Made short variable names longer and more readable. Fixed pylint warnings "Invalid variable name" and "Invalid argument name". (From OE-Core rev: 872cb0d5d79b26f34e6b35d7be8870d245021be4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix pylint warning redefined-builtinEd Bartosh2015-09-031-3/+3
| | | | | | | | | Renamed variables named as Python builtin functions. (From OE-Core rev: bed98142e3e47ac2862ccf8fe3e4bdeabfc91172) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: fix pylint warning unused-variableEd Bartosh2015-09-031-6/+0
| | | | | | | | | Removed or reworked code with unused variables. (From OE-Core rev: 3644b9f5ca25dfc61d4f5eda0f073c8a879b492b) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add plugin for hybrid iso imageMihaly Varga2015-08-241-0/+538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This plugin creates a hybrid, legacy and EFI bootable ISO image. The generated image can be used on optical media as well as USB media. Legacy boot uses syslinux and EFI boot uses grub or gummiboot (not implemented yet) as bootloader. The plugin creates the directories required by bootloaders and populates them by creating and configuring the bootloader files. The plugin adds an image file to the iso which contains the directory tree of the rootfs folder specified by the --rootfs argument or by the IMAGE_ROOTFS bitbake variable. Using the isohybryd tool, the created .iso image is enhanced by a MBR for booting from disk storage devices, consequently the provided iso image could be copyed directly by dd comand onto USB drive or could be burned to an optical media by using a suitable image burner. The plugin depends on parted, e2fstools, syslinux, grub, cdrtools, dosfstools and mtools program. Some of the functions in this plugin were inspired from bootimg-efi.py and bootimg-pcbios.py plugins implemented by Tom Zanussi. (From OE-Core rev: 289c534b5d990e22e5547496f5f84cc9721ce3ee) Signed-off-by: Mihaly Varga <mihaly.varga@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Code cleanup: unused importsEd Bartosh2015-07-021-1/+0
| | | | | | | | | 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: 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-236-0/+26
| | | | | | | | | | | | 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-236-20/+20
| | | | | | | | | | | | 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-095-10/+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-302-5/+3
| | | | | | | | | | | | | | | | | | | | 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-113-0/+447
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>