[OE-core] [PATCH 1/1] linux-yocto-custom: Clarify usage and clear COMPATIBLE_MACHINE
Bruce Ashfield
bruce.ashfield at gmail.com
Sat Aug 4 00:27:42 UTC 2012
On Fri, Aug 3, 2012 at 7:29 PM, Darren Hart <dvhart at linux.intel.com> wrote:
> There has been some confusion over proper use of the linux-yocto-custom
> recipe. It is not intended to build as is from meta-skeleton. It should
> be modified via a bbappend file to provide a Linux kernel config at the
> very least.
>
> Update the commentary to make this requirement more explicit. Add some
> additional detail about how to create a bbappend file and how and when
> to modify the various variables.
>
> Clear COMPATIBLE_MACHINE so bitbake will not attempt to build the recipe
> unless the user explicitly adds there machine to the variable, which
> should encourage them to read the recipe comments before attempting to
> build it.
>
> Signed-off-by: Darren Hart <dvhart at linux.intel.com>
> CC: Bruce Ashfield <bruce.ashfield at windriver.com>
> CC: Tom Zanussi <tom.zanussi at intel.com>
> ---
> .../recipes-kernel/linux/linux-yocto-custom.bb | 52 +++++++++++++++-------
> 1 file changed, 35 insertions(+), 17 deletions(-)
>
> diff --git a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
> index 55f0c38..dd98228 100644
> --- a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
> +++ b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb
> @@ -1,17 +1,35 @@
> # linux-yocto-custom.bb:
> #
> -# Provides an example/minimal kernel recipe that uses the linux-yocto
> -# and oe-core kernel classes to apply a subset of yocto kernel
> -# management to git managed kernel repositories.
> +# An example kernel recipe that uses the linux-yocto and oe-core
> +# kernel classes to apply a subset of yocto kernel management to git
> +# managed kernel repositories.
> +#
> +# To use linux-yocto-custom in your layer, create a
> +# linux-yocto-custom.bb file containing at least the following lines:
s/linux-yocto-custom.bb/linux-yocto-custom.bbappend/
> +#
> +# FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
> +# COMPATIBLE_MACHINE_yourmachine = "yourmachine"
> +#
> +# You must also provide a Linux kernel configuration. The most direct
> +# method is to copy your .config to files/defconfig in your layer,
> +# parallel to the linux-yocto-custom.bbappend file.
hmm. parallel ready odd to me, but I don't have a better suggestion.
> +#
> +# To use the yocto kernel tooling to generate a BSP configuration
> +# using modular configuration fragments, see the yocto-bsp and
> +# yocto-kernel tools documentation.
> +#
> +# Warning:
> +#
> +# Building this example without providing a defconfig or BSP
> +# configuration will result in build or boot errors. This is not a
> +# bug.
> +#
> #
> # Notes:
> #
> -# kconfig(s): the kernel must be configured with a defconfig, or via
> -# configuration fragment(s). Either of these can be added
> -# via bbappend.
Leaving the part about configuration fragments might be useful.
.. but this looks good, lets see if it saves a few questions :)
Cheers,
Bruce
> -# patches: patches can be merged into to the source git tree itself, added
> -# using standard bbappend syntax or controlled via .scc feature
> -# descriptions (also via bbappends)
> +# patches: patches can be merged into to the source git tree itself,
> +# added via the SRC_URI, or controlled via a BSP
> +# configuration.
> #
> # example configuration addition:
> # SRC_URI += "file://smp.cfg"
> @@ -20,25 +38,25 @@
> # example feature addition (for kernel v3.4 only):
> # SRC_URI += "file://feature.scc"
> #
> -# Warning:
> -#
> -# Building the sample kernel tree (kernel.org) without providing any
> -# configuration will result in build or boot errors. This is not a bug
> -# it is a required element for creating a valid kernel.
> -#
>
> inherit kernel
> require recipes-kernel/linux/linux-yocto.inc
>
> +# Override SRC_URI in a bbappend file to point at a different source
> +# tree if you do not want to build from Linus' tree.
> SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;nocheckout=1"
>
> LINUX_VERSION ?= "3.4"
> LINUX_VERSION_EXTENSION ?= "-custom"
>
> +# Override SRCREV to point to a different commit in a bbappend file to
> +# build a different release of the Linux kernel.
> # tag: v3.4 76e10d158efb6d4516018846f60c2ab5501900bc
> SRCREV="76e10d158efb6d4516018846f60c2ab5501900bc"
>
> -PR = "r0"
> +PR = "r1"
> PV = "${LINUX_VERSION}+git${SRCPV}"
>
> -COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemuppc|qemumips|qemux86-64)"
> +# Override COMPATIBLE_MACHINE to include your machine in a bbappend
> +# file. Leaving it empty here ensures an early explicit build failure.
> +COMPATIBLE_MACHINE = "(^$)"
> --
> 1.7.11.2
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
--
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
More information about the Openembedded-core
mailing list