summaryrefslogtreecommitdiffstats
path: root/scripts/lib
Commit message (Collapse)AuthorAgeFilesLines
* Drop beagleboard, replaced by beagleboneRichard Purdie2014-03-311-1/+0
| | | | | | (From meta-yocto rev: b125761e5e31fc506f7b5b87308850cd573ab1b6) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Extend --rootfs-dir to connect rootfs-dirsJoão Henrique Ferreira de Freitas2014-03-303-11/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The wic command-line param --rootfs-dir gets generalized to support multiple directories. Each '--rootfs-dir' could be connected using a special string, that should be present in .wks. I.e: wic create ... --rootfs-dir rootfs1=/some/rootfs/dir \ --rootfs-dir rootfs2=/some/other/rootfs/dir part / --source rootfs --rootfs-dir="rootfs1" --ondisk sda --fstype=ext3 \ --label primary --align 1024 part /standby --source rootfs --rootfs-dir="rootfs2" \ --ondisk sda --fstype=ext3 --label secondary --align 1024 The user could use harded-code directory instead of connectors. Like this: wic create ... hard-coded-path.wks -r /some/rootfs/dir part / --source rootfs --ondisk sda --fstype=ext3 --label primary --align 1024 part /standby --source rootfs --rootfs-dir=/some/rootfs/dir \ --ondisk sda --fstype=ext3 --label secondary --align 1024 (From OE-Core rev: 719d093c40e4c259a4c97d6c8a5efb5aeef5fd38) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Report all ROOTFS_DIR artifactsJoão Henrique Ferreira de Freitas2014-03-303-4/+28
| | | | | | | | | | When a .wks has more than one ROOTFS_DIR it's better to report all ROOTFS_DIR that was used to create the image. (From OE-Core rev: a8762f3be215678a6806cabe49647083f42323a8) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add option --rootfs-dir to --sourceJoão Henrique Ferreira de Freitas2014-03-301-0/+6
| | | | | | | | | | | | | | | The '--rootfs-dir' option is optional and only takes efect is a partition is set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... So '--rootfs-dir' is used instead of bitbake ROOTFS_DIR variable or '-r' param. (From OE-Core rev: d486db593e6643bd10b8fe90257d547a9f341043) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use partition label to be part of rootfs filenameJoão Henrique Ferreira de Freitas2014-03-301-2/+2
| | | | | | | | | | | | | | | | | | When a partition from .wks file is set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... --label \ --label secondary This means that 'rootfs' must use '<special rootfs>' as rootfs and the default partition filename in /var/tmp/wic/build/ will be create using the '--label' as part of the name. E.g: /var/tmp/wic/build/rootfs_secondary.ext3 (From OE-Core rev: c7efb3a21618ce3069811042279a0d898237ac0f) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add rootfs_dir argument to do_prepare_partition() methodJoão Henrique Ferreira de Freitas2014-03-303-3/+3
| | | | | | | | | | | | | | | The do_prepare_partition() method from RootfsPlugin class need to know what will be the rootfs_dir. This makes sense when .wks file has a partition set up like this: part /standby --source rootfs --rootfs-dir=<special rootfs> ... then do_prepare_partition() will work with the correct rootfs. (From OE-Core rev: 6042b097a8fc24f2b85eb9848fb007a3c6c090a9) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Hook up RootfsPlugin pluginJoão Henrique Ferreira de Freitas2014-03-301-16/+12
| | | | | | | | | | | | | Remove the 'rootfs' case when internal call code is used and replace to call the general-purpose plugin. For now RootfsPluing class continues to invoke prepare_rootfs() method from Wic_PartData. However RootfsPlugin could implement them. (From OE-Core rev: 26cd93b79318cbfaebb971d1e728041904e015f1) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add RootfsPluginJoão Henrique Ferreira de Freitas2014-03-301-0/+58
| | | | | | | | | | | | | Implement RootfsPlugin class. The do_prepare_partition() method is implemented using code in Wic_PartData class. This class have 'rootfs' name, which is the name that should be used in the --source parameters of the .wks partition commands. (From OE-Core rev: 68dd66849bbaca6e3a0cf00beec0dba1c08e9070) 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: Add SD/MMC-Cards support to '--ondisk' paramJoão Henrique Ferreira de Freitas2014-03-271-2/+6
| | | | | | | | | | | | The special case when wic is set up to use SD/MMC-Cards in place of sdX disks is not handled properly. Append 'p' to the rootdev when disk is SD/MMC-Cards fix this situation. (From OE-Core rev: 3a95c4549f743aa47456c76e687a863c64c7a7f4) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use pseudo for ext mkfs commandTom Zanussi2014-03-121-1/+1
| | | | | | | | | | The switchover from populate-exfs.sh to mke2fs forgot to preserve pseudo, add it back. (From OE-Core rev: 032309928f931b32cf63a0ebf174de029ba17401) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Use mke2fs to create the ext2/3/4 imageJoão Henrique Ferreira de Freitas2014-03-121-4/+2
| | | | | | | | | | | OE-core commit f3a95ca6886b55e5819b068bdbd2cceb882d91a6 removed the populate-extfs.sh. So mke2fs should be used to create ext2/3/4 image. (From OE-Core rev: 4dea928eef325364922b1e0cbabc2a581356e804) Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Make exec_native_command() fail if a command isn't foundTom Zanussi2014-02-201-2/+9
| | | | | | | | | | | | | | | | | | Because exec_cmd() return values can in certain cases be non-zero yet non-fatal, we don't want to automatically make them fatal (though there should at least be a warning in such cases, which this patch also does); non-zero return values are definitely fatal however if they mean that a native command wasn't found, so have exec_native_cmd() check the return value of exec_cmd() for that case, and bail out if so. [YOCTO #5835] (From OE-Core rev: 43ac6e3216c5d985d6f90a28e727e397df616267) 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: Fix exec_native_cmd() pathTom Zanussi2014-02-201-1/+1
| | | | | | | | | | | The path exported in exec_native_cmd() includes bogus 'PATH=' which means the native paths for all but the first will be ignored. (From OE-Core rev: e10c1102d958ffc6b521fb36c6bc51d896503218) 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: Honor --size for --source partititionsTom Zanussi2014-02-094-10/+68
| | | | | | | | | | | | | | Instead of simply creating partitions large enough to contain the contents of a --source partition (and adding a pre-specified amount of padding), use the --size used in the partition .wks statement. If --size isn't used, or is smaller than the actual --source size, retain the current behavior. (From OE-Core rev: 23b6c5ea4d48cdf731e5202991961a0e4b10ff29) 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: Hook up BootimgEFIPlugin and BootimgPcbiosPlugin pluginsTom Zanussi2014-02-046-279/+86
| | | | | | | | | | | | | | | | | | | Remove all the Wic_PartData and DirectImageCreator code now implemented by the BootimgEFIPlugin and BootimgPcbiosPlugin plugins, as well as all the special-cased boot_type code, significantly cleaning up the code. Replace the calling code with general-purpose plugin invocations, in essence calling the appropriate implementations at run-time based on the --source value in effect. Change the directdisk.wks and mkefidisk.wks scripts to make use of the new plugins. (From OE-Core rev: 43558610a5793888ff2b18bd3a27c7ab558e5ad0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add BootimgEFIPlugin and BootimgPcbiosPluginTom Zanussi2014-02-042-0/+348
| | | | | | | | | | | | | | | Implement the BootimgPcbiosPlugin and BootimgEFIPlugin SourcePlugin classes. The configure/prepare_partition() methods are implemented using code derived from similar code in the Wic_PartData class. These classes have the corresponding names 'bootimg-pcbios' and 'bootimg-efi', which are the names that should be used in the --source parameters of the .wks partition commands. (From OE-Core rev: 6e147488b40f730e07f1e0f232083ed75388daa0) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add SourcePlugin classTom Zanussi2014-02-042-3/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define the SourcePlugin class, which is the class that should be subclassed to create a 'source' plugin. 'Source' plugins provide a mechanism to customize various aspects of the image generation process in wic, mainly the contents of partitions. The initial version of wic defined a --source param for partitions, which was in the first revision hard-coded to two possible values: rootfs and bootimg. This patch essentially removes the hard-coded --bootimg param and replaces it with a plugin system that maps the value specified as --source to a particular 'source' plugin instead. A 'source' plugin is created as a subclass of SourcePlugin and the plugin file containing it is added to scriptsl/lib/mic/plugins/source/ to make the plugin implementation available to the wic implementation. When the wic implementation needs to invoke a partition-specific implementation, it looks for the plugin that has the same name as the --source param given to that partition. For example, if the partition is set up like this: part /boot --source bootimg-pcbios ... then the methods defined as class members of the plugin having the matching .name class member would be used. To be more concrete, here's the plugin definition that would match a '--source bootimg-pcbios' usage, along with an example method that would be called by the wic implementation when it needed to invoke an implementation-specific partition-preparation function: class BootimgPcbiosPlugin(SourcePlugin): name = 'bootimg-pcbios' @classmethod def do_prepare_partition(self, part, ...) If the subclass itself doesn't implement a function, a 'default' version in a superclass will be located and used, which is why all plugins must be derived from SourcePlugin. This scheme is extensible - adding more hooks is a simple matter of adding more plugin methods to SourcePlugin and derived classes. The code that then needs to call the plugin methods the uses plugin.get_source_plugin_methods() to find the method(s) needed by the call; this is done by filling up a dict with keys containing the methon names of interest - on success, these will be filled in with the actual methods. fPlease see the implementation for examples and details. Note that a source plugin need not restrict itself to methods that apply directly to partitions - methods can also be defined for higher level processing such as at the 'disk' level. The get_default_source_plugin() of DirectImageCreator allows the default source plugin to be retrieved; by default this is set to be the same plugin used for the /boot partition, but that can be overridden by specifying a different --source and therefore different plugin on the 'bootloader' line. This isn't ideal, but it avoids forcing a new high-level object to be defined for that purpose. Note that the '--source rootfs' param remains as its current hard-coded value, which is just the rootfs to be used to populate the partition - by default, that's just the value of the bitbake ROOTFS_DIR variable (or whatever was passed in using the -r param). Note that this also could also be overridden by creating a source plugin using a different name; at this point, unlike with bootimg, there's been no need to do so. (From OE-Core rev: 663833d8ecccb36ab42150bc5c9c00be79fa5b93) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Add wic-specific bootloader subclassTom Zanussi2014-02-043-2/+65
| | | | | | | | | | | | | Add a new wic-specific bootloader subclass so we can add a --source param to hang non-partition plugin off of. By default, the bootloader gets the /boot partition source plugin, but this can be overridden by the --source bootloader param if needed. (From OE-Core rev: f90e4097c4e69d4f61c69923cb5d1ebb6b74d2ff) 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-042-5/+31
| | | | | | | | | | 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-043-13/+12
| | | | | | | | | | 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>
* yocto-bsp: Add core2 and corei7 tune choice to x86_64Darren Hart2014-01-281-0/+8
| | | | | | | | | | | | | | | | | Update the x86_64 architecture bsp creator to include choices for core2 and corei7 tune files. (From meta-yocto rev: 06a16db32eae5b2280642643009fa653dc6f7839) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Paul Eggleton <paul.eggleton@intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Cc: Nitin Kamble <nitin.a.kamble@intel.com> Cc: Mark Hatle <mark.hatle@windriver.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-bsp: Update substrate to use the new x86 tune filesDarren Hart2014-01-282-13/+15
| | | | | | | | | | | | | | | | | | Update the substrates to use x86-base instead of ia32-base and core2-64 instead of x86-64. Update the core2 bit to include the DEFAULTTUNE to be explicit. (From meta-yocto rev: 3ccc079192ca147382231f0379bae1d04d47a89c) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Paul Eggleton <paul.eggleton@intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Cc: Nitin Kamble <nitin.a.kamble@intel.com> Cc: Mark Hatle <mark.hatle@windriver.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-bsp: Add missing interfaces file for qemu BSP templatesTom Zanussi2013-12-202-0/+6
| | | | | | | | | | | | | The qemu BSPs were picking up the wrong interfaces file, resulting in some erratic interface behavior seen with qemu-based BSPs - this fixes the problem. [YOCTO #5636] (From meta-yocto rev: bbc3d56d6ec28b4cd92874fe4f98e1cd499415be) Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-bsp: Add missing format specifier in bblayers error messageBastien JAUNY2013-11-211-1/+1
| | | | | | | | | | | | If the build environment is misconfigured (e.g. a bad path for a layer in bblayers.conf) the yocto-bsp script crashes with a standard python error, not very explicit. This fixes the problem. Signed-off-by: Bastien JAUNY <bastien.jauny@gmail.com> (From meta-yocto rev: 4a8e80b812eebdc1c9570b5d88aa0f3b34824b68) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove selinux_check()Tom Zanussi2013-10-301-4/+0
| | | | | | | | | | | This seems to be an obsolete check - we don't have any problems with image creation under selinux, so remove it. (From OE-Core rev: 12e81eceab9e0a483765566ad3791b14718195b5) 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: Update and generalize pseudo setup for rootfs generationTom Zanussi2013-10-231-13/+15
| | | | | | | | | | Remove unnecessary pseudo exports i.e. PSEUDO_DISABLED and move the setup to the top-level prepare_rootfs(). (From OE-Core rev: 4bf11cd7d7301da664c098c8a0ae9c0294a6f423) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Make find_binary_path() more user-friendlyTom Zanussi2013-10-231-1/+4
| | | | | | | | | | | | find_binary_path() is useful, but if the binary isn't found, it prints a stacktrace and a less-than-useful message. Users complain when they get stacktraces for things they can act on, so remove the stacktrace and tell the user what the problem is. (From OE-Core rev: 0d9eef0eaa267500e8eedab8b72ddf24eb0516db) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove binary dependenciesTom Zanussi2013-10-231-4/+0
| | | | | | | | | | Current functionality doesn't make use of kpartx, mount, or unmount, and we use native mkswap, so remove the binary checks for those. (From OE-Core rev: 76293d2d6bbdeacd7b34f39f26fb97c3d7f9496f) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove rpmmisc call from livecdTom Zanussi2013-10-231-1/+1
| | | | | | | | | | | | | | We don't currently use LiveCDImageCreator, but it makes calls when initialized via the plugin interface to rpmmisc module functions, which we don't want the dependency on. To make it (and LiveUSBImageCreator) happy, we give it the dummy "i386" value for now. (From OE-Core rev: e10ae516cfc10900ed12e84c743e3a7127372135) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove rpm and grabber dependencies from BaseImageCreatorTom Zanussi2013-10-231-3/+1
| | | | | | | | | | | | | | | | BaseImageCreator is a base class for DirectImageCreator and others, and imports rpm and grabber (which imports rpm). The various plugins e.g. DirectPlugin import the creators and therefore these dependencies, which manifest at run-time as e.g.: Warning: Failed to load plugin imager/direct_plugin: No module named rpm (From OE-Core rev: a1e24c4a5f5771b7ad35e53ce96c6d82212e4d7e) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: remove rpm warning code from BackendPluginTom Zanussi2013-10-231-5/+0
| | | | | | | | | | We don't currently use rpm functionality, so we don't need to silence rpm warnings. (From OE-Core rev: dd3cc03d4fa3347f8ef2db23d8ff98bdbdb73baa) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove dependency on myurlgrab moduleTom Zanussi2013-10-231-1/+0
| | | | | | | | | | | mylrlgrab is in grabber, which imports rpm. For current functionality, we don't need to grab urls or import rpm, so remove the dependency. (From OE-Core rev: 429ecc2afa499df35a1ae9da6f92b88c6f2d8d11) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove dependency on rpmmiscTom Zanussi2013-10-233-3/+2
| | | | | | | | | | | | rpmmisc imports rpm and contains misc rpm utilities related to packaging and determining arches based on the packaging. We should never run across this in the initial version of wic, so remove the dependency. (From OE-Core rev: 2d59b6eeb418cf23eef3e32b43354b4ab16a40b9) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: Remove dependency on rt_util moduleTom Zanussi2013-10-237-7/+7
| | | | | | | | | | | | | | | | rt_util contains bootstrap_mic(), which imports rpm and other things we don't need because we don't do bootstrap i.e. runtime (set in wic.conf) is always set to 'native', which means use what's on the local host. bootstrap mode is for downloading and installing rpms that wic needs, which we may want to implement later; for now, we just want to use what's local. (From OE-Core rev: 3103f0cb908eced7b751128c2bba898d12017c80) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* wic: add pseudo to the populate-extfs stepTom Zanussi2013-10-181-1/+8
| | | | | | | | | | Without this, files in the generated filesystem pick up the wrong ownership. (From OE-Core rev: 24a6b1324965080fef6c363edcb37768090eebea) 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: Force lba off for FAT16 partitionsDarren Hart2013-10-161-0/+10
| | | | | | | | | | | | | If fat16 is specified to the mkpart parted command, parted will default to setting the lba flag which causes certain EFI firmware to fail to detect the filesystem. lba shouldn't be necessary for FAT16 filesystems anyway, explicitly disable it. (From OE-Core rev: 30442d432e203e655b7d40b93f7307f475de1614) Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Tom Zanussi <tom.zanussi@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-kernel: Use variable-substituted BBLAYERSTom Zanussi2013-10-041-55/+38
| | | | | | | | | | | | | | | | The current find_bblayers() code finds and parses the BBLAYERS variable manually, and therefore doesn't handle variable substitution, which causes problems if used. This change makes find_bblayers() use the variable-substituted BBLAYERS instead. Fixes [YOCTO #5106] (From meta-yocto rev: 1629ac04e909143dc2c275c256094cb44c6cc43c) 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-0119-225/+1253
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Add mic w/pykickstartTom Zanussi2013-10-01134-0/+29181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the starting point for the implemention described in [YOCTO 3847] which came to the conclusion that it would make sense to use kickstart syntax to implement image creation in OpenEmbedded. I subsequently realized that there was an existing tool that already implemented image creation using kickstart syntax, the Tizen/Meego mic tool. As such, it made sense to use that as a starting point - this commit essentially just copies the relevant Python code from the MIC tool to the scripts/lib dir, where it can be accessed by the previously created wic tool. Most of this will be removed or renamed by later commits, since we're initially focusing on partitioning only. Care should be taken so that we can easily add back any additional functionality should we decide later to expand the tool, though (we may also want to contribute our local changes to the mic tool to the Tizen project if it makes sense, and therefore should avoid gratuitous changes to the original code if possible). Added the /mic subdir from Tizen mic repo as a starting point: git clone git://review.tizen.org/tools/mic.git For reference, the top commit: commit 20164175ddc234a17b8a12c33d04b012347b1530 Author: Gui Chen <gui.chen@intel.com> Date: Sun Jun 30 22:32:16 2013 -0400 bump up to 0.19.2 Also added the /plugins subdir, moved to under the /mic subdir (to match the default plugin_dir location in mic.conf.in, which was renamed to yocto-image.conf (moved and renamed by later patches) and put into /scripts. (From OE-Core rev: 31f0360f1fd4ebc9dfcaed42d1c50d2448b4632e) 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-013-0/+589
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* yocto-bsp: add 3.10/remove 3.8 kernel from templatesTom Zanussi2013-09-2475-365/+423
| | | | | | | | | | | | | | | For Yocto 1.5, 3.10 is the preferred kernel and 3.8 is obsolete. This also removes any mention of emgd from the templates - we want to discourage users from using it - it will be obsolete soon in any case. Fixes [YOCTO #5107] (From meta-yocto rev: 4dd4bf6ac2dcc7652ec8f807df02298546bdb41b) 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>
* yocto-bsp: conditionalise mesa-swrast on opengl in templatesRoss Burton2013-09-111-1/+1
| | | | | | | | | | | As per the similar commit in oe-core on the qemu machines, the templates should respect the opengl DISTRO_FEATURE when adding mesa-driver-swrast to new qemu machines. (From meta-yocto rev: 8d42ea2b2566913642c759e48ffe1f5f5166c510) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-bsp: remove apm as a default MACHINE_FEATURESaul Wold2013-09-091-1/+1
| | | | | | | | | | | APM is not only obsolete, but also requires a kernel config enabled, which is not enabled by default [YOCTO #5121] (From meta-yocto rev: e25c43661f27b27e61aa7fae868237c1c60e3e25) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-kernel: make BBLAYERS parsing more robustTom Zanussi2013-07-131-14/+24
| | | | | | | | | | | | | This allows the BBLAYERS parsing code to handle cases where BBLAYERS is spread across multiple assignments or all on a single line, within double or single quotes. Fixes [YOCTO #3746]. (From meta-yocto rev: 4ab26d9e655bab0069ffe9b135557d943cf1f524) Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* yocto-kernel: enforce exact match for BBLAYERSTom Zanussi2013-07-051-1/+2
| | | | | | | | | | | | | | | The current code uses .startswith to find BBLAYERS, which causes false positives when other variables such as BBLAYERS_NON_REMOVABLE exist. This forces an exact match instead of a partial match. Fixes [YOCTO #4743]. (From meta-yocto rev: c039def50ca6c02cb1b66fd4bf76664de42c068e) 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>
* yocto-bsp: filter out 'layer' from arch listTom Zanussi2013-07-051-1/+1
| | | | | | | | | | | | | | | | | The yocto-layer tool added a new directory alongside the actual architectures and 'common', which is already screened out as not an actual architecture when displaying the architecures. The same needs to be done for 'layer' which isn't actually an architecuture and likewise needs to be screened out. Fixes [YOCTO #4735]. (From meta-yocto rev: 7459485bf75855a40d124915d38284f737a25cc4) 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>
* yocto-bsp: Drop PRINC usageRichard Purdie2013-06-211-2/+1
| | | | | | | | | We no longer need to manually bump PR values so lets not generate code using this. (From meta-yocto rev: ed23b0eee9791b06b0bae1ad17595e72ccaa86cf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>