[meta-freescale] Pros/Cons of Yocto vs Ltib

Joshua Kurland joshua.kurland at adtecdigital.net
Fri Oct 18 09:41:22 PDT 2013


I am moving this thread over from the Wandboard forums
https://groups.google.com/forum/#!topic/wandboard/kiuL_oIf6Qw

I am developing a product on the Wandboard-quad for a company that I
have been interning with.  Up till now I have been using Yocto to
create an image for the SD card and to build a rootfs with which to
cross-compile app-space code.  I have struggled with it here and
there, but it hasn't been too difficult to learn how to use it so far.
 Recently my company has asked me to move this development into Ltib.
Currently Ltib is the only build tool they use, and they would prefer
to keep it that way.  I had started to look at what it would take to
move the Wandboard BSP to Ltib, and quickly became overwhelmed by the
complexity.  This brings up three questions:

1.)  Why Yocto instead of Ltib?  What are the advantages?  What made
Freescale shift 100% over to Yocto?  My company does not update to new
boards very often; most of our products use rather old Power PCs.  It
may be more practical to bring Wandboard support into Ltib rather than
having developers learn both tools.  Essentially it boils down to "why
would I want to use Yocto?".

2.)  How can I make Yocto behave more like Ltib?  We keep a copy of
Ltib with all of the company specific patches on a local server.  When
a developer checks out a new copy of the project, all they have to do
is run ltib once, the custom kernel and rootfs are already there.
This process only takes a few minutes to complete, and the developer
is up and running.  How can this be done using Yocto?  As a new Yocto
user, one of the first steps is to run 'repo sync'.  In my experience
when doing this from scratch, this has taken over an hour to complete.
 Likewise, the first time I make an SD card image it takes a
substantial amount of time.  Yesterday I wanted to test something I
had done against a demo image.  I believe it took nearly three hours
to complete the fsl-image-gui image (I have an i7 with 16gb of RAM).
That is a long coffee break.  If I need to modify something in my
recipe, it takes anywhere from 15 minutes to over an hour to rebuild.
How can I speed up this process?

As a related question, how can I share a layer across multiple users?
I am currently the only developer working on this project, however if
the wandboard works out well for this particular project they may use
it in others as well.  With Ltib checked directly into the head of our
project, our developers need to do very little.  How can I set up
Yocto so that the developer can pull from a repo and immediately have
the custom layer, added to bblayers.conf and ready to bitbake?

3.)  If I MUST use Ltib, how would I transfer the BSP?  I have been
told multiple times that this is not trivial, due to the number of
patches that the gpu/vpu require.  I have already spent an afternoon
or two figuring out how Ltib works, and I am more or less comfortable
with adding a new platform.  That is, so long as the BSP is not overly
complex.   How can I find out EXACTLY which patches are used on the
Wandboard, and where is the best place to get them?  I have seen vpu
patches all over the place in the meta-fsl-arm repo.  Some are for the
imx6 (sabre, boundary), other are for the wandboard exclusively.  Some
are for both.  How can I determine what is relevant to me and what is
not?  Also, I hear that the kernel is being brought up to 3.10.9 and
will include said gpu/vpu support.  Presumably I would want to run
through this entire process again with the new kernel, new kernel
patches, etc.  Video is absolutely vital to my project, and I would
want to have the latest and greatest.

I hope my questions are not too trivial that they can simply be looked
up in the manual (although I'm sure some of them are).  Maybe some of
the answers can be added to the Freescale imx FAQ for others who may
be in a similar situation as myself.

Thank you for the help,
Josh Kurland



More information about the meta-freescale mailing list