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

Post Lauren-RAA013 RAA013 at freescale.com
Mon Oct 21 07:43:59 PDT 2013


Joshua,

3.10.9-1.0.0_alpha is released.

Freescale i.MX uses a separate layer meta-fsl-bsp-release to release our changes on top of meta-fsl-arm and meta-fsl-demos.  After we go live we upstream our changes.  Currently we are in the upstream process where our changes in our release layer are integrated into master-next and we check for backward compatibility for all chips and non Freescale boards.

We will no longer release any i.MX BSPs on ltib.  3.0.35.4.1.0 was our final ltib release.  We highly recommend moving to Yocto over ltib.

Our kernel and uboot gits are live on git.freescale.com and we release our BSP on separate branches.   Our kernel is branched from kernel.org with our branch having our patches so it is easy to see the patches specific to our release.  Our mirror has all our non git packages to download that were previously in the ltib packaging.  Our yocto releases are very small including our manifest and documentation.  However our manifest and user's guide are now on our meta-fsl-bsp-release so everyone knows the commits we based our release on for all the layers.

http://git.freescale.com/git/cgit.cgi/imx/meta-fsl-bsp-release.git/tree/imx/docs?h=dora_3.10.9-1.0.0 

The meta-fsl-bsp-release layer is what we do our full test on.  Eventually meta-fsl-arm/meta-fsl-demos will have the same changes integrated with the community changes.  

Hope that helps.
Lauren Post
i.MX Yocto Team Lead

-----Original Message-----
From: meta-freescale-bounces at yoctoproject.org [mailto:meta-freescale-bounces at yoctoproject.org] On Behalf Of Joshua Kurland
Sent: Friday, October 18, 2013 2:51 PM
To: Otavio Salvador
Cc: meta-freescale at yoctoproject.org
Subject: Re: [meta-freescale] Pros/Cons of Yocto vs Ltib

Thanks for the answers (again lol).  I am curious though, how do you rev the kernel with Yocto?  The way our ltib guy explained it to me, the BSP is typically just a bunch of patches.  If he wanted to rev the kernel, he takes those patches and puts them onto the new kernel, simple (so he says anyway).  But the BSPs for the imx6 and the wandboard look like they already integrate the patches in with the mainline source.  So that to make a patch (perhaps to include into Ltib), one would need to diff between the current source and the true mainline.  Why do it that way?  Does Yocto have a way of stripping out the patches and re-applying them later?

As a side question, you had mentioned 3.10.9 is in the works, WITH vpu/gpu support.  I was under the impression that the drivers were closed source.  Has that changed?  Or is vivante releasing a new set of binaries for this kernel?  Or is dark magic involved.

The more I understand how each build tool works and what the differences are, the better I will be able to work with both of them.

Thank you for the help,
Josh Kurland

On Fri, Oct 18, 2013 at 1:49 PM, Otavio Salvador <otavio at ossystems.com.br> wrote:
> Hello Joshua,
>
> Even tough some those question has been already answered in the 
> Wandboard mailing list, I am re-answering them for completeness...
>
> On Fri, Oct 18, 2013 at 1:41 PM, Joshua Kurland 
> <joshua.kurland at adtecdigital.net> wrote:
>> 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:
>
> Well this is how life is. They can do it themselves, hire someone (you 
> or someone else - me?).
>
>> 1.)  Why Yocto instead of Ltib?
>
> We've spend a lot of energy doing the integration and you are free to 
> use or redo our work.
>
> Well it depends on the project; I prefer Yocto and than I use it. This 
> is like asking me if I prefer blue or green hehe (I prefer green).
>
>> What are the advantages?
>
> Well there are several advantages, some as:
>
> * well maintained (LTIB is dead)
> * has a community (LTIB is FSL-only project, no community)
> * has vendors behind it (we have commercial vendors providing support 
> for it)
> * allows cross-vendor x cross-platform x cross-host development ...
> * you name it.
>
>> What made Freescale shift 100% over to Yocto?
>
> I suggest you to open a Service Request and ask them. I cannot talk by them.
>
>> 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?".
>
> Why you want to use Wandboard? You're free to use whatever you wish, 
> as you wish.
>
>> 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?
>
> I can offer you a consultancy if you wish more details but Yocto 
> provides many enterprise-like cache, reuse and tracking features. You 
> need to get some time and learn about this; Yocto documentation is a 
> place to start.
>
>> 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?
>
> Use a GIT to share it; it allows you have several people to reuse same 
> layer metadata and push changes to it accordingly.
>
>> 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.
>
> Sorry but Joshua this is complex. You're are free to redo our work 
> (and port all to LTIB) or use Yocto.
>
> We (all community behind meta-freescale) are doing all the BSP 
> integration freely available and in a Free Software license so you can 
> reuse, change, distribute, sell, ...; you can reuse our work and port 
> it to LTIB.
>
> The porting process of Yocto to LTIB (even being non-sense for me) is 
> something which I would not do for free. I think it makes much more 
> sense (and is in the end cheaper) if you move to Yocto.
>
>> 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.
>
> I think it gives a good feedback; it does has some questions which you 
> can answer by yourself looking at the manuals but it also allow us to 
> have this message in the archive to point people to, when those 
> question are done again in the future :-)
>
> Regards,
>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
_______________________________________________
meta-freescale mailing list
meta-freescale at yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale





More information about the meta-freescale mailing list