linux-yocto and private topic branches
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.
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".
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? Can these changes be kept in "recipe-space"?
If not possible, am I stuck with managing patches?
Regards,
Marc
Quoted 4 lines · Marc Ferland
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.
Quoted 4 lines
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.
Quoted 8 lines
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 ?
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).
Quoted 1 line
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.
Quoted 2 lines
If not possible, am I stuck with managing patches?
If you don't have a kernel tree somewhere that you are fetching .. perhaps.
Cheers,
Bruce
Quoted 8 lines
Regards,
Marc
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto
Quoted 8 lines · Bruce Ashfield
Quoted 4 lines · Marc Ferland
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!
Quoted 8 lines
Quoted 4 lines
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.
Quoted 7 lines
Quoted 7 lines
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.
Quoted 8 lines
Quoted 2 lines
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.
So first step for us is to rebase our stuff on linux-yocto!
Quoted 13 lines
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).
Quoted 5 lines
Quoted 1 line
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.
Thanks for all the info!
Marc
Quoted 32 lines · Marc Ferland
Quoted 8 lines · Bruce Ashfield
Quoted 4 lines · Marc Ferland
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!
Quoted 8 lines
Quoted 4 lines
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.
Quoted 10 lines
Quoted 9 lines
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?
Quoted 8 lines
Quoted 5 lines
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_URIof that repo along with a defconfig.
... and some patches carried out of tree ?
Quoted 2 lines
So first step for us is to rebase our stuff on linux-yocto!
I assumed the patches existing, since you mentioned rebasing something :)
Quoted 15 lines
Quoted 15 lines
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).
Quoted 1 line
Can these changes be kept in "recipe-space"?
Quoted 7 lines
Quoted 3 lines
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
Quoted 4 lines
Thanks for all the info!
Marc