[yocto] Fwd: Updated Yocto Hands-on Kernel Lab available

Tom Zanussi tom.zanussi at intel.com
Sun Feb 17 22:28:55 PST 2013


On Sun, 2013-02-17 at 21:16 -0500, Trevor Woerner wrote:
> ...sorry, I meant to CC the list too
> 
> 
> ---------- Forwarded message ----------
> From: Trevor Woerner <twoerner at gmail.com>
> Date: Sun, Feb 17, 2013 at 9:15 PM
> Subject: Re: [yocto] Updated Yocto Hands-on Kernel Lab available
> To: Tom Zanussi <tom.zanussi at intel.com>
> 
> 
> Hi Tom,
> 
> I can see how the kernel *.bb files get pulled in due to the following
> line in each lab's layer configuration (${LAYERDIR}/conf/layer.conf):
> 
>     BBFILES := "... ${LAYERDIR}/recipes-*/*/*.bb ..."
> 
> Since the *.bb files are located under
> ${LAYERDIR}/recipes-kernel/linux/<kernel>.bb this matched the above
> pattern.
> 
> What I can't figure out is why, for example, in lab1 are the kernel
> patch files located in
> 
>     ${LAYERDIR}/recipes-kernel/linux/linux
> 
> while the kernel patch files for lab2 are in
> 
>     ${LAYERDIR}/recipes-kernel/linux/files
> 
> Does bitbake find the patch files for lab1 in a subdirectory called
> "linux" because the recipe's name is linux_3.0.18.bb? Because I don't
> see anything in that particular recipe which would suggest it
> (bitbake) should look there (linux). And when I go to lab2 and rename
> the "files" directory to "linux-yocto" the build doesn't work, so this
> behaviour would seem to discount the belief that a patch directory
> name can take on the recipe name and be found.
> 

Hi,

Yes, in lab1 bitbake finds the patch files because they're in the
'linux' subdirectory.  It should also be able to find them if you
renamed that directory to 'linux-3.0.18', and it would also find them in
the 'files' directory.  These subdirectories are added to FILESPATH in
base.bbclass:

FILESPATH = "${@base_set_filespath(["${FILE_DIRNAME}/${BP}", "${FILE_DIRNAME}/${BPN}", "${FILE_DIRNAME}/files"], d)}"

Those are relative to a .bb, which is what we have in lab1 - the kernel
recipe is linux_3.0.18.bb.

In lab2, we have a linux-yocto_3.4.bbappend file rather than a .bb file.

If you look at the .bbappend, you can see:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

which is what we need to add to the .bbappend to get bitbake to look in
the 'files' subdirectory under the .bbappend - since the FILESPATH is
relative to the base recipe in meta/, linux-yocto_3.4.bb, and not
our .bbappend, bitbake won't find the files under our .bbappend unless
we add our .bbappend's 'files' subdir to FILESPATH via FILESEXTRAPATHS. 

If you wanted to change the name of the directory under the .bbappend to
'linux-yocto', you could just use:

FILESEXTRAPATHS_prepend := "${THISDIR}/linux-yocto:"

or better:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

Tom

> Best regards,
>     Trevor
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto





More information about the yocto mailing list