[OE-core] [PATCH 1/1] linux-yocto-custom: Clarify usage and clear COMPATIBLE_MACHINE
Darren Hart
dvhart at linux.intel.com
Mon Aug 6 15:52:57 UTC 2012
On 08/03/2012 05:27 PM, Bruce Ashfield wrote:
> 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/
Thanks!
>
>> +#
>> +# 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.
"in the same directory as the bbappend."
>
>> +#
>> +# 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.
I removed it because I felt I adequately covered it above:
# You must also provide a Linux kernel configuration. The most direct
# method is to copy your .config to files/defconfig in your layer,
# in the same directory as the bbappend.
#
# To use the yocto kernel tooling to generate a BSP configuration
# using modular configuration fragments, see the yocto-bsp and
# yocto-kernel tools documentation.
> .. but this looks good, lets see if it saves a few questions :)
Will send V2 with your comments addressed.
--
Darren
>
> 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
>
>
>
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Technical Lead - Linux Kernel
More information about the Openembedded-core
mailing list