On 12-08-17 5:33 PM, Marc Ferland wrote:
Bruce Ashfield<bruce.ashfi...@windriver.com>  writes:

On 12-08-17 04:21 PM, Marc Ferland wrote:
Hi,

I'm maintaining a BSP based on crownbay and I would like to change my
current kernel recipe from a custom one to linux-yocto_3.2.bb.

I'm just heading out for the weekend, but I can pick this up in more
detail layer.

That would be great!

Reading the kernel-yocto.bbclass, I see that it is possible to provide a
list of patches and configuration fragments but also (not sure about
that) to provide an "external branch".

In the denzil (3.2 kernel) that is the case, in the yocto 1.3 (3.4)
kernel, it isn't even called an external branch, since the tools
are more tolerant of a branch not being present at validation time.

BTW, I am using denzil.


Since we maintain several private topic branches in-house this would be
the perfect solution. I could "inherit" from crownbay (available on
linux-yocto) and just merge my topic branches to produce the final
kernel source tree.

My question:
Is this currently possible? If so, are there any examples available?

You can do this, but you do need to host your own kernel repository
that is based off linux-yocto. In that repository, you can have
your own branches, that are easily referenced from the recipes.

Is this what you are currently doing with your custom recipe ?

We indeed host our own kernel repo but it is based off kernel.org. The
recipe just defines the SRC_URI of that repo along with a defconfig.

... and some patches carried out of tree ?


So first step for us is to rebase our stuff on linux-yocto!

I assumed the patches existing, since you mentioned rebasing something :)


I'm stating the obvious, since if you want to clone a tree with your
branch .. there must be a tree somewhere with that branch :)

The yocto-bsp tools are using the external branches to manage new
BSPs that aren't already in linux-yocto.

There are other tricks that can be played where smaller, pruned git
trees are used, and they are cloned and have their alternates pointed
at the main kernel tree repository, gluing the two together. But there's
nothing within the current models that supports it directly (you need
reference clones, scripts, etc).

Can these changes be kept in "recipe-space"?

Most everything that can be done in a tree, with branches and meta data
can also happen in recipe space. The yocto-bsp scripts are again a
good example of this.

Ok. I'll definitively have a look at these yocto-bsp scripts. Keeping
everything in recipe space will be easier since all changes will be
concentrated in one place.

Depending on the scale of your patches, how you need to share/reuse them,
then keeping them in recipe space is a good starting point. If you scale
up to multiple BSPs, with conflicting features, fragments, etc, etc, then
going with a repository based on linux-yocto (or some other base) is
the next thing to look at.

Cheers,

Bruce


Thanks for all the info!

Marc

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to