[poky] Impressions of using Poky to create a BSP

Darren Hart dvhart at linux.intel.com
Fri May 27 12:48:59 PDT 2011



On 05/27/2011 10:42 AM, Holger Freyther wrote:
> Hi all,
> 
> I hope these impressions are useful. In the last two days I added a BSP for a
> TI Davinci based system and I am afraid it was a bit harder than I think it
> should be. This is a summary of the underlying issues (without them being
> debugged or completely understood).
> 
> meta-skeleton and BBFILES:
>    - Maybe it would be nice if the file glob would list *.bbappend as I think
>      many people want to use it.
> 
> BBLAYERs and dependencies:
>     - I had changed BBFILES to list *.bbappend but the change didn't take
>       effect. I had to touch conf/local.conf to force a re-parse. So somehow
>       the layers config didn't end up in dependencies.
> 
> fetch vs. fetch2:
>     - I wanted to fetch my kernel from my internal git/ssh repository. I was
>       not sure where to put the username (git://foo@bar or git://bar;user=foo)

I believe the correct options would have been:

ssh://foo@bar/path/to/repo
or
foo at bar:/path/to/repo

with protocol=git

(I haven't tested this)

>       so I was experimenting a bit. This triggered me being banned from my
>       server (fail2ban)

Ouch :(

> so the git process on the buildhost got stuck and I
>       backgrounded bitbake with CTRL+Z.
> 
>     - Then I tried bitbake -cfetch virtual/kernel again and it didn't do anything,
>       it took me a while to think that it might wait on a lock. I think it would be
>       great if this could be printed somewhere (if my understanding of this is
>       correct).
> 
>     - Also it was not obvious to find out which of the two fetchers are used..
> 
> 
> Adding a kernel:
>      - So by default the linuxdummy is used, but I wanted to build my kernel,
>        I started off by copying the yocto kernel recipes. This creates a very funny
>        bug. My kernel didn't have the meta branch, the task to test the branches
>        executes git log for the branch and this is failing.
>        The symptoms are not obvious at all. An empty log file is left behind.


This is probably best dealt with a kernel recipe writing manual. We have
a few things like this forming, but nothing tangible yet.


> 
>      - I was using the yocto kernel recipes incorrectly and ended up with a logfile
>        that pointed to itself for details but nothing else.


Better checkpoint logging in the kernel recipes and classes is
definitely needed. I have a branch with the start of that. Something
I'll continue to look into.


> 
>      - In the end I used a minimal kernel recipe, it would be nice to either have
>        an easy way to 'produce' a yocto like kernel of a simple kernel recipe in
>        the skeletons.


Checkout the meta-kernel-dev repository. We have (or will be very soon)
added a linux-korg_dev.bb which does exactly that. Bruce on CC is
driving that.


> 
> Python Exceptions:
>      - Building something that is not provided gives a python exception
>      - Adding a task that does not exist gives a python exception
>      - I think it would be nice to have meaningful error messages. Specially
>        the laters runs into something like:
>       if not Data:
>            print "BLA BLA"
>       use(data)

Not my area, but yes, there is room for improvement here.

> 
> Machine Extra Depends:
>      - I was using the core-minimal-image but wanted to have some of my
>        kernel modules installed. After finding the name that task-core-boot
>        is using I tried to do bitbake -cclean task-core-boot; bitbake the-image
>        but this didn't end up with a task-core-boot to carry my depends.
>        I had to resort to using bitbake -b task-core-boot.bb to build  it, I am not
>        sure why it failed when running from within the normal bitbake. IIRC it
>        continued to be like this even after I removed tmp/cache.


This is indeed a point where intuition has failed me as well. I remember
there was another machine specific task that I had to rebuild to trigger
getting the modules into the image. Unfortunatley I can't recall what it
was atm and "bitbake -g -u depexp core-image-minimal" isn't giving me
any hints either :/


> 
> I hope this point of view is helpful.
> 

Yes, thanks for sharing!

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the poky mailing list