Skip to contentSkip to conversation

linux-yocto and private topic branches

DISCUSSION Marc Ferland 2 participants 4 messages Aug 17, 2012 – Aug 20, 2012

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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

#2 lore raw
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

#3 lore raw
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_URI of 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