Fix 'for' statement identention so plugin type directory will be
added only once in layers_dirs list.
No functional changes.
(From OE-Core rev: ba88329115a3d6f964febcbf554af8391e1b84a1)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Plugins are looked in 'scripts/lib/mic/plugins/[type]/' directory on all
BBLAYERS variable returned by bitbake environment. If found, it will
be load at runtime.
The user could create your own plugin and keep it inside its layers. For
now the path must be <layer-dir>/scripts/lib/mic/plugins/[type]/. Where
'type' could be 'imager' or 'source'.
(From OE-Core rev: bb6f5d7de1c7ce2680874a74949903db0f5bb91a)
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>
.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>
The wic command-line param --rootfs-dir gets extended to support
multiple directories and image names. Each '--rootfs-dir' could be
connected using a special string. This special string is a image
name which gets expanded by bitbake to get 'IMAGE_ROOTFS' or
a rootfs-dir path pointing to rootfs directory. Like this:
wic create ... --rootfs-dir rootfs1=core-image-minimal \
--rootfs-dir rootfs2=core-image-minimal-dev
.wks:
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
(From OE-Core rev: 58417093d7ce83c8a2f683a356fddc23aaee5e8e)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helper is used by source plugins to get specific bitbake
variable.
(From OE-Core rev: b8e51f73bc8e67ca60b7dd8d67091257aad62efd)
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.
(From meta-yocto rev: 5021839af713cb34bea5888981f2184104b6d35e)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add 3.14 kernel support, and remove support for 3.4.
(From meta-yocto rev: 342dce5873a9f1844fd7ce52a1c2656dcfb43053)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Privious check-in "yocto_kernel: check current items before add a
new one" had been merged before I apply the feedback from Zanussi, Tom.
Now fix it as a new patch.
This fix modify the output message when customer adding duplicate
items.
[YOCTO #4558]
(From meta-yocto rev: 530c6efa85b1798d30db4c6c83a748b100b8c1c3)
Signed-off-by: Ning Zhang <ning.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When use "yocto-kernel config add" to add the same config many times,
all of these are list when use "yocto-kernel config list" to check.
This fix modify routine yocto_kernel_config_add, if the new added
components already exist in current configuration, just igore them.
Now, one config could only be added one time.
[YOCTO #4558]
(From meta-yocto rev: 655ccc5ed77b52fb62dab5f6cfdf3de39b1bf055)
Signed-off-by: Ning Zhang <ning.zhang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This was added quite a long time ago because of poor interactions
between HAL and the X server when it came to enabling input devices.
HAL is long gone and I think it's safe to say we don't need to disable
this any longer, especially as it gets in the way of being able to plug
in the keyboard/mouse after boot.
(From meta-yocto rev: e06ab1e030e8cfbc259500b1a0b958fe752fb872)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have recipes-* directories not a recipes directory; this is left over
from the old old layout (2010).
(From meta-yocto rev: 8adbbb4b688e60113f68d3974310774686551eff)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The default branch for the qemu-based mips BSP template no longer
exists, so change to one that does.
(From meta-yocto rev: 5af614322269ee7c79928d1ff343f2e3bcf35509)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
arm-based qemu machines won't boot with the default 3.8 machine SRCREV
because it's missing the commit 'arm: add dummy swizzle for versatile
with qemu', so we need to use a SRCREV that has it merged.
(From meta-yocto rev: 176ec06589032b0b589da8345adfc87dddcb74f0)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A few small changes to the machine.conf from the previous version that
should be incorporated.
(From meta-yocto rev: 05a86a2e8d69b32243ab1915b279411d3d82235f)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the qemu-based BSPs, use bsp metadata that's guaranteed to boot in
qemu.
(From meta-yocto rev: e274a2e66c26489a4da895194eb6e7a9c1476a73)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Pass the file object instead of the filename to replace_file for the
custom template, as now required by replace_file().
(From meta-yocto rev: 56091c019000cfe3d22ec464c596d97ae78fc619)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
replace_file needs to make sure the file it's replacing is closed
before replacing it, otherwise unexpected results may ensue.
Fixes [YOCTO #4145].
(From meta-yocto rev: 1339dbb690d51456b4474356992e430638469e47)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
RT support is now available in the linux-yocto-3.8 kernel, so we can
also add that as kernel option for users.
(From meta-yocto rev: 2e425b5c6c7e685e8a0e0c8cb2cf64040e454cad)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For the cases where a BSP reuses an existing branch, we still need the
KBRANCH in order to be able to specify an existing branch.
(From meta-yocto rev: 5a3167c4fa6cb53ec501e9de185b93748973ec18)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mesa-dri has been renamed to mesa.
[YOCTO #3385]
(From meta-yocto rev: ba8d5b6dcb6fa4721e85b62f15713072cc0fa23f)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake handles immediate expansions of LAYERDIR for us automatically.
(From meta-yocto rev: ee59f1ec94ba8474876603dad1ab32d131227f49)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the user-features.scc files needed by the new kernel feature
support in yocto-kernel.
(From meta-yocto rev: 0ef493fbbe412b6e30fc60b892ba6c2e5664307f)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to destroy a recipe-space
kernel feature local to a particular BSP. The removed feature is
subsequently no longer available for the normal feature addition and
removal yocto-kernel commands.
(From meta-yocto rev: faa18f56d9412694f2c8e0b0c09e751cb7f3a743)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to create a recipe-space
kernel feature local to a particular BSP. The new feature is
subsequently available for the normal feature addition and removal
yocto-kernel commands used with features defined in the meta branch of
linux-yocto kernel repos.
(From meta-yocto rev: 13abcd93b9e1591bc45ff5f9eb17b8feb9ac9ae5)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to print the description and
compatibility of a given kernel feature.
(From meta-yocto rev: 73b4f1a8d156af6810cdde3af672d6286a7071e7)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a yocto-kernel command allowing users to list all the kernel
features available to a BSP. This includes the features contained in
linux-yocto meta branches as well as recipe-space features defined
locally to the BSP.
(From meta-yocto rev: 12f3af8d92456ad9212170decdbe102fc78b58f6)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add yocto-kernel commands allowing users to add, remove, and list
kernel features with respect to a given BSP.
Features managed by these commands modify a special
machine-user-features.scc file associated with the kernel recipe
(.bbappend) of a yocto-bsp-generated BSP. This is analagous to the
implementation of similar support for bare config items and patches
already implemented for yocto-bsp-generated BSPs.
Future patches will add support for providing a list of eligible
features as defined by linux-yocto kernels and locally-defined
(recipe-space) kernel features.
(From meta-yocto rev: ae68d906c5c9854f2cd7ee0870556fbfbd7d94d0)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Along with related changes.
(From meta-yocto rev: 6e93c881e2323b57f5b102db3b2b54220a06a1b6)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify by removing unnecessary KMACHINE/KBRANCH and SRC_URI items.
Also simplify machine-preempt-rt.scc
(From meta-yocto rev: b9973f7761b86e3d4571fe5582759e5405e1d7b4)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify machine-standard.scc for all the templates.
(From meta-yocto rev: ad0d944698a854a281d0beea1c87a0600e98ccbd)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify by removing unnecessary KMACHINE/KBRANCH and SRC_URI items.
(From meta-yocto rev: d1224846e5ff6c101bf50011d5d3314cbbd81f61)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Simplify machine-standard.scc for all the templates.
(From meta-yocto rev: ac8ec04c50bc8dbf716ff5746c8942566fd5c2bf)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update map_standard_kbranch() with preempt-rt and tiny variants.
(From meta-yocto rev: 48233b051b0599ee745d0b8d24863a08e7440d6a)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Use map_standard_branch() instead of naming the branch directly.
(From meta-yocto rev: 34ec7d4cf53f82adb8de61969d0981344f9a1d87)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update map_standard_kbranch() to be consistent with the new changes in
meta naming and remove obsolete standard/default mapping.
(From meta-yocto rev: 40998ba44e1a4ebb1c165cab1a250025041e0da0)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update the default custom kernel to 3.8.y, the current stable kernel
available at this point.
(From meta-yocto rev: f10f30bf77ee0571c1b5edc083833c5267d013d6)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For Yocto 1.4, 3.8 is the preferred kernel and 3.2 is obsolete.
(From meta-yocto rev: 5b07921319901a3709492c43397c57bbd2201585)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The names of the -user files were changed to have the machine
prepended, but the includes weren't - fix the includes.
(From meta-yocto rev: c430d6a0d126df7a51c0f585665de6aebbeac028)
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bblayer abstraction makes it where multiple layers can be
configured and used at the same time. Some layers make changes to
support a specific machine, and should not have any affect when other
machines are in use.
For linux-yocto, all bsps are created with a user-config.cfg and
user-config.cfg and user-patches.scc. This means that those files
will be pulled from the first location found, which might correspond
to files customized for a different machine.
Instead of using the names user-config.cfg and user-patches.scc, I
propose a machine specific name be used such as
{{=machine}}user-patches.scc and {{=machine}}user-config.cfg. This
would necessitate that all references changed to these new names,
which would affect the yocto-bsp and yocto-kernel scripts.
With this change, it would be possible to have multiple machine BSPs
searched at the same time and to select which to build against by
using a command like MACHINE=qmeux86 bitbake core-image-sato to
override the default.
Note many of the standard BSPs do not seem to suffer this problem as
they do not use the common files user-config.cfg and user-patches.scc
that the yocto-* scripts depend upon.
Additions by Tom Zanussi:
- renamed user-config.cfg to {{=machine}}-user-config.cfg everywhere
- renamed user-patches.scc to {{=machine}}-user-patches.scc everywhere
- added the user-config/patches SRC_URI items to the qemu -rt kernel recipes
- fixed conflicts due to the new open_user_file() helper function
- updated user filename conflicts caused by directory renaming
- updated custom kernel files to match
Fixes [YOCTO #3731]
(From meta-yocto rev: c20bef60aa8d52971fb061d4b8d473ad19c03180)
Signed-off-by: Brian A. Lloyd <brian.lloyd@familyhonor.net>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Normally pre-canned properties are supplied as JSON from a file, which
the user can specify using e.g. the -i option.
We can reuse that basic functionality for dedicated command-line
parameters by sythesizing a JSON string containing those param values
on the fly and passing that in instead.
This adds the ability for the common creation code to accept JSON
strings as well as JSON files.
(From meta-yocto rev: 5a2e840b24822e018de94ec4f554363b59c4e8bd)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user specifies a layer priority following the layer name, layer
creation will proceed without further queries using the specified
layer priority and the remaining values defaulted.
(From meta-yocto rev: 84a0bd8940f82fb938972d7b026367d40c9472e7)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This does a bit of refactoring of the bsp-generation code to make it
generically reusable for generating non-bsp layers.
The first user remains the existing yocto-bsp tool; these changes
allow a second user, the new yocto-layer tool, to use the same code.
(From meta-yocto rev: 1527a0ee7bce08a527c9d80516531b17816dff17)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a 'layer' target containing all the data that will be used to
generate a generic yocto layer.
(From meta-yocto rev: 198a85f61ebd6435830285b2a9b1b925aea6779e)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is essentially 'the documentation' for the yocto-layer tool.
(From meta-yocto rev: 34229b931bad8fc0e4d4431bb5cb46fccbea03bf)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a new yocto_layer_create() function that will be used to generate
a generic yocto layer (for the new 'yocto-layer' command).
(From meta-yocto rev: 44acd01bf47c2e0a777e686c9339a6ff951fc972)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
yocto-bsp create does a 'git ls-remote
git://git.yoctoproject.org/linux-yocto-3.4.git *heads*' to get the set
of existing branches from the kernel repo.
If the user isn't connected to the network, or if git isn't configured
sanely, yocto-bsp fails with an ugly Python backtrace.
We should try to avoid this by doing a basic sanity check for those
things before actually running the command.
The sanity check can be avoided by specifying -s on the yocto-bsp
command-line:
$ yocto-bsp create -s test qemu
Fixes [YOCTO #3279]
(From meta-yocto rev: 496e76f9bed2ed5a04ef757724d2e63d05c7a601)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of custom kernel support, we also need to handle the
normal PR format found in .bb files.
(From meta-yocto rev: e17570b6bbd36a731f546f800ef5f271ed5c3697)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We no longer have to include patches in the SRC_URI, since things now
work using only patch in the .scc file, so remove anything to do with
maintaining patches in the SRC_URI and fix up all previous users of
that code.
(From meta-yocto rev: 8f3cd1f80f898d963797bc96b3fe599f7f8ea343)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously we assumed we were always dealing with .bbappends. With
custom kernels, we now have SRC_URIs in .bb files, so add .bb files to
the list of file types we examine and modify.
(From meta-yocto rev: 4200c5c99b7d61e05b0d9d1580e267e7d6d49760)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kernels don't need to have a PREFERRED_VERSION, so remove that
assumption from the code that looks for the kernel definition.
(From meta-yocto rev: 2ea9d54ac5ebd80b5306851d62411960f3293ede)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
After adding comments to the config and patch templates, I noticed
they were displayed as items, which they shouldn't be. This prevents
them from being displayed.
(From meta-yocto rev: 4cd0bde48cd17468923bba80b88d187014cda1a3)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With the addition of custom kernels, we can no longer rely on a
hard-coded /files directory for BSPs - we need to be able to find the
user_config/patches files in a number of different directories.
We now hide the search inside a new open_user_file() function that
accomplishes the same thing as before but with a more flexible scope.
(From meta-yocto rev: 26a7032553e8d8691239368f0f994f948db06eed)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a function that can be used to replace a template file by a
user-specified file. The initial use of this capability is to allow
users-specified defconfigs.
(From meta-yocto rev: b52a22d40d4701a9515490bdd31c8d0341fb12bc)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a subclassed edit box that verifies the existence of a
user-specified file.
(From meta-yocto rev: 8ca7f688a6a0e41dd6527b1c13ebaa77bbfeba69)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a subclassed edit box that verifies the existence of a
user-specified git repo.
Also adds a verify_git_repo() function that can be used as a basic
sanity check for local git setup.
(From meta-yocto rev: 64f1176d62ed02d7c61d32fdae11dc8b7d365603)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update existing templates to integrate with linux-yocto-custom.
(From meta-yocto rev: 7a8b55bdf499d001b77bb87345eb4eeab6013b2e)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a synthetic choice for linux-yocto-custom to the list of available
kernels. Choosing this will lead the user down the path of options
needed to specify a custom kernel.
(From meta-yocto rev: 220ad83b5ccc241d7b5b2c3321f2a6a59813e3d6)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a template to support custom kernels via a custom kernel recipe
derived from linux-yocto-custom.bb.
(From meta-yocto rev: 98c7861ebdd40b1fc4d803701ad9fb979be54273)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There were some changes in the xserver-xorg upstream project that need
to be reflected here too:
* extmod module was removed completely as it became empty;
* DRI1, DRI2, DBE (among others) were made built-in;
(From meta-yocto rev: ed681441a2cf06dc55e71035ecbfc637ff83640d)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update the template with the changes from the last commits to meta/conf/machine/qemux86.conf
Building sato image for a machine created using yocto-bsp with qemux86/x86-64 templates fails because nothing RPROVIDES qemugl anymore so remove support from the template as well.
Also drop redundant glibc configure knobs (they are no longer optional and they don't exist in conf/machine/qemux86.conf anymore so for consistency the template shouldn't keep them).
(From meta-yocto rev: 644c201a8fb9e589cdda1f76385a0b41549ea057)
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The git URLs used in bitbake recipes are not compatible directly with git. In
bitbake-speak, all git URLs start with git:// and the protocol is optionally
specified in the SRC_URI. Local git mirrors are specified like so:
git:///path/to/local/mirror.git;protocol=file
The URL that git requires would be:
file:///path/to/local/mirror.git
Update the yocto-bsp kernel.py to make the necessary adjustment when parsing
the SRC_URI to extract the git URL.
(From meta-yocto rev: 30506f51cc95f0994cf54144295832e931d15f61)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Tom Zanussi <tom.zanussi@intel.com>
CC: evadeflow@gmail.com
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
yocto_bsp_list_property_values() is missing the context it needs to
properly filter choicelists, so add it to the context object.
Fixes [YOCTO #3233]
(From meta-yocto rev: 064b15f76c5b52899f4c3fdef06412c3063062a5)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A couple bsp templates have some options that were used for testing
but aren't needed for any other reason - remove them.
(From meta-yocto rev: dd3bbd04919f7cc69141f405ac95d736abddd637)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The xserver-xf86-config .bbappends are still using FILESPATH - update
them to use FILESEXTRAPATHS as recommended by the Poky Reference
Manual and BSP Developer's Guides.
(From meta-yocto rev: 6aaef8eb9e95a46ab02ef038ae53c8e63eb04e09)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The cfg/dmaengine/dmaengine feature changed location to cfg/dmaengine
in the 3.4 yocto kernel's meta branch. Add template code to include
the appropriate version.
(From meta-yocto rev: b650fcb7781e1c6af6254c98ae64d5ea81b46abc)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The linux-yocto-3.2 cfg/vfat feature changed location to cfg/fs/vfat
in the 3.4 yocto kernel's meta branch. Add template code to include
the appropriate version depending on kernel version.
Fixes [YOCTO #3178].
(From meta-yocto rev: d574c56c51789ec56ff50518ac2057607740eaa8)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The functionality previously added by these bbappends was already
handled in task-core-tools-profile.bb (now
packagegroup-core-tools-profile.bb), so remove this.
(From meta-yocto rev: e999a6639a711f5c9a64c69d6b89fb478566d34a)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a strip_base() function to remove '/base' from the branch names
presented to the user.
(From meta-yocto rev: 216a38f6bb453e8e6617f82c3642151dbde2f377)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a text snippet to the README to say that if emgd-driver-bin is
included in the BSP, LICENSE_FLAGS_WHITELIST needs to be set to for a
successful build.
(From meta-yocto rev: e9437a58a99eefa23402b82a1d9a85e7381e109f)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With move of ia32-base to oe-core, the only case remaining where
meta-intel needs to be added to bblayers.conf for a new BSP is the
case of an x86 BSP that selects EMGD.
Update the documentation to note that fact.
(From meta-yocto rev: b63c199c716d68147def036eb06481245e595802)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With move of ia32-base to oe-core, the intel-specific variables were
split off into meta-intel.inc, which needs to be included when using
components present only in meta-intel.
In the case of i386, that's currently just emgd, so conditionally
include emgd if emgd is selected as the xserver choice.
(From meta-yocto rev: b9cc7ce3407d3bc3909e7cc57c8a1290cb84a58b)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The new yocto-kernel way of specifying that the branch sanity check
doesn't need to be run is to specify a default kbranch and build that.
In the case where we have a new kbranch but it's not yet in the repo,
we need to tell it that our new branch is the default and we're
building the default and that's how we avoid the sanity check and the
subsequent do_validate_branches() failure.
(From meta-yocto rev: dadd020c67e901609be3ac13a4ffd8cb28532966)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The logbuf-normal feature is obsolete, so remove any references to it.
The dmaengine and hpet features have changed, but don't really need to
be added by default to i386 - leave that to the BSP developer. Also,
remove a couple duplicate feature references in the .scc files.
(From meta-yocto rev: 3f37864d474912d680c2e6ee2a962e9fa61df39b)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The branch updating for the [YOCTO #2587] fix inadvertently changed
some of the qemu branch names incorrectly, fix it.
(From meta-yocto rev: dde4cd9f88093b8c520a6a42f9dda917f4aff5e4)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
YOCTO_KERNEL_EXTERNAL_BRANCH is now obsolete, so remove it from the
templates.
(From meta-yocto rev: 0c440984f3f429d5282559208313dfe7492b8b90)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make i386 template use emgd 1.14, along with associated changes.
(From meta-yocto rev: 69f49f7e8370112164b70b9a5ae6f3c0e1ce0bfa)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove mapping for 3.0 and add mapping for 3.4.
(From meta-yocto rev: e4ddfcda2cc6aad0c3e99066d43d69f5c1ab2f18)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For 1.3, 3.4 is the preferred kernel and 3.0 isn't supported.
(From meta-yocto rev: ef7f8257ec9830e3eab0acec20564105d23a74f7)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Users seem to want to specify incomplete property sets when using json
input. Allow this by generating default properties before the
user-specified properties are applied; the user will then get the
defaults for any unspecified values, and avoid cryptic backtraces.
(From meta-yocto rev: 3f0361f77cf64844da93ba4a76c42cd5befff5ad)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make i386 template use emgd 1.10 for denzil, along with associated
changes.
(From meta-yocto rev: 7a93139bcaca7639da0f182356153d2a7539e0c3)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add some useful default options to to the i386 and x86_64 templates.
(From meta-yocto rev: 2f98c6dfce82d670acf54bb93c827cf142539b98)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If reusing a branch (need_new_branch == 'n') we don't need to branch
in the .scc, so make it conditional on need_new_branch.
(From meta-yocto rev: 1e698ad2d18249c6224821bd52e3b979750db256)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
strip() isn't necessary and causes unintended formatting changes in
the output; rstrip() remove the trailing newlines as intended while
leaving indenting whitespace intact.
(From meta-yocto rev: 0caa6cd8c094b531ee8e78154dbf5a8e6014d1fd)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a mechanism to distinguish common-pc variants of standard
branches.
(From meta-yocto rev: c313ad936499104235c47f05bd98ef86b990d713)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a "branches_base" property that can be used to allow only matching
branches to be returned from all_branches().
(From meta-yocto rev: c3481e22fc4690ff5e449f9c16c2453fa964205d)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Make sure the default branch names match branch names found in the
kernel branch listing.
Fixes [YOCTO #2587].
(From meta-yocto rev: a46fc3dad25eac4a28265c956913f46ef25c0cee)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For new branches, users can specify /base branches, but we don't want
the '/base' in the resultant branch name, so remove it.
Fixes [YOCTO #2693].
(From meta-yocto rev: 40e925862884fd981dec63fc598326c73e4a4c20)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wihtout it, you have both mesa-dri and mesa-xlib as providers. Let's
prefer the accelerated version.
(From meta-yocto rev: 13f847744aa842ef38b3f2adf3764425319b5507)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The non-x86 qemu machines now require an xorg.conf, change the
templates accordingly.
Fixes [YOCTO #2559]
(From meta-yocto rev: d465c09d8df0e6d210ba8cd3c17549a07a8e134d)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some changes in the ordering assumptions of the qemu include rendered
X inoperative, fix those in the qemu machine template.
Fixes [YOCTO #2559]
(From meta-yocto rev: c3d208267dea6bc0f8be2eb9c63b4125730bb21b)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current yocto-bsp help assumes knowledge that the meta-intel layer
needs to be cloned before it's put into the BBLAYERS. Avoid the
guesswork and state the details explicitly in the help.
Also, the shorter 'usage' string doesn't mention it at all; it would
help to at minimum mention it and refer the user to the detailed help.
Fixes [YOCTO #2330].
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current code assumes that builddir == srcdir/build, which it
obviously isn't sometimes. Use BUILDDIR to get the actual builddir
being used.
Fixes [YOCTO #2219].
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While testing the fix for [YOCTO #2222] I noticed that the tuning for
the qemu x86_64 target was using the wrong tuning file - it should be
x86_64 instead of i586. Change the template to match.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
While testing the fix for [YOCTO #2222] I noticed a new build error
that wasn't there in previous testing:
ERROR: Multiple .bb files are due to be built which each provide virtual/libgl
The build still completed and produced a good image, but an error
message was displayed, which this patch removes.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
While testing the fix for [YOCTO #2222] I noticed that the qemuarch
test was wrong - there is no 'x86' qemuarch, just 'i386'. Change the
test to match.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Previous versions of yocto-bsp mapped every input element to a unique
variable name, which is what the current property value display code
expects. When that was changed to a nested form, the display code
wasn't updated to match - this updated does that.
Fixes [YOCTO #2222]
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Tweak the help info for both "yocto-bsp" and "yocto-kernel" to
emphasize that those are the *complete* lists of commands, not just
the most commonly used ones.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
This is essentially 'the documentation' for the Yocto BSP tools, along
with a few related functions.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Yocto BSP kernel-related functions, for interacting with the kernel
tools and implementing the machinery behind the 'yocto-kernel'
command.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
The main implementation of the Yocto BSP templating engine,
essentially containing the internal implementation of the 'yocto-bsp
create' and yocto-bsp list' commands.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>