[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