Search code examples
yocto

How do you add a layer to an existing Yocto build?


I have a Yocto build given to me. There's a meta-coolthing.git directory I want to add to my build. If I look in my project's layers/ directory, it doesn't show up there, so I think that means it's not in the build. Where do I go to add meta-coolthing to my Yocto build?

Kind of a simple question, but that's all there is to it. It's hard to get your bearings again in Yocto if you've been away for awhile.


Solution

  • Hmm I think the simple answer is to add it to the bottom of the BBLAYERS variable in ./build/conf/bblayers.conf.

    BBLAYERS ?= " \
    ... bunches of existing layers
       /path/to/project/layers/meta-already-here \
       /path/to/project/layers/meta-coolthing \
       "
    

    And re-run bitbake inside the environment wrapper thing.

    Initially that failed since it couldn't find meta-coolthing at that path. I had to git clone the project from the mirror meta-coolthing.git directory I already had into the project directory:

    cd /path/to/project/layers
    git clone ../../mirror/meta-coolthing.git -b main
    

    Choosing an arbitrary branch to start with.