[yocto] linux yocto private branch

Bruce Ashfield bruce.ashfield at windriver.com
Mon Jan 3 08:00:38 PST 2011


On 10-12-28 07:54 PM, João Henrique Freitas wrote:
> Hi,
>
> This question is about how I can track linux yocto and maintain a
> private kernel.
>
> I am tracking the yocto master on git.
>
> My target is to use linux-yocto kernel and with my personal machine
> (IBM and HP blade servers x86-64 or x86).
> Probably I need to setup some special driver like disk controller or
> network device, but it's not the case now.
>
> I want to track linux-yocto kernel. To accomplish it, I created a
> linux-yocto_git.bbappend with:
>
> SRC_URI = "git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;fullclone=1;branch=${KBRANCH};name=machine
> \
>             git://git.pokylinux.org/linux-yocto-2.6.37;protocol=git;noclone=1;branch=meta;name=meta
> \
>             file://defconfig"
>
> KMACHINE_mpg = "yocto/standard/common-pc/base"<---- it's right?

This will be right in a few weeks, but right now, the
searching for machine specific configuration is triggered
from the branch name, so you still require a machine
specific branch. This is a long standing optimization to
represent validated configurations in the kernel tree, but
to control branch "explosion" I've completed some changes
that allow many (unlimited) boards to be built from a single
branch.

So for this, you'd want  "yocto/standard/common-pc/mpg", and
have a kernel tree that contains the branch (this is BSP
bootstrapping). I have a meta-kernel-dev layer that facilitates
a local clone (where you can easily make your own branch), and
it will be available in the poky-extras repo very soon (I don't
have push access at the moment).

> COMPATIBLE_MACHINE = "mpg"<--- my kernel config
>
> My doubt: KMACHINE_mpg can be "yocto/standard/mpg" or it need to be a
> strict branch on yocto git?

See above. Your doubt was correct.

>
> In other words, Can I have a private branch and track a default
> yocto/standard/common-pc/base?

You can. You need to initially create your BSP branch from that
point, and as you update your tree, merge common-pc/base into
your BSP to pickup the main kernel updates.

To have your own kernel configuration, see the examples for
other BSPs on the 'meta' branch. Create your own infrastructure
there, and things will work. Since you are tracking a branch
besides 'standard/base' you need to have your own .scc file
on the meta branch since the auto detect logic will fall back
to tracking standard.

Cheers,

Bruce

>
> I read kernel-manual_9.pdf, section 3.4.4 but I believe it's a bit outdate now.
>
> Currently I can build linux-yocto and create a full image to be use
> with VirtualBox and with real hardware.
>
> Thanks.
>
> PS:
>
> I think that yocto can be use to build and runs in big machines too,
> not only in small devices.
>




More information about the yocto mailing list