[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