[yocto] linux-yocto and private topic branches

Bruce Ashfield bruce.ashfield at windriver.com
Sun Aug 19 21:30:09 PDT 2012


On 12-08-17 5:33 PM, Marc Ferland wrote:
> Bruce Ashfield<bruce.ashfield at 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




More information about the yocto mailing list