Re: use case howto?


Osier-mixon, Jeffrey <jeffrey.osier-mixon@...>
 

Hi James, 

On Mon, Nov 7, 2011 at 1:59 PM, James Abernathy <jfabernathy@...> wrote:
I approach embedded Linux from a path of taking a Distro like Ubuntu or Fedora and chopping it down to a working set of code that forms the final solution.  Obviously, not the same methology as Yocto.  With some success with the current methods, it's difficult to see the advantages of Yocto.  I'm reading what I can find to get smarting on Yocto, but like most new concepts, you try to compare what you used to do with how to do it with the new concept.
 
For example, if I use a distro, I can install packages really simply with yum or apt-get; update them the same way. If I start with a Yocto meta-??? that's closest to my hardware solution, and get it working at a base level, how do I add things, like browsers, or other application?
 
Jim A

The approach you describe is followed by a number of embedded developers. There are advantages to starting with a known-working quantity and scaling it down, particularly one with a working software repository. Where many developers get frustrated with that approach is in the details - on constrained systems it is easy to run out of space, or to simply not be able to scale the distro back to a point where it is useful on given hardware. Distros are also somewhat difficult to customize to the level an embedded product would need, and often those customizations are not repeatable, nor portable to updated versions of the distribution. 

The Yocto Project approach is in many ways the philosophical opposite. You build from the ground up, starting from a base set of working components and adding only those features that are needed for the final system. You have complete control over every bit that goes into the final system, as well as control over the build tools themselves. You also have a fully repeatable and portable process, which is extremely important in a production environment. In essence, you use Yocto Project tools to create your own distro. 

To answer your question, components like drivers (and entire board support packages (BSPs)) as well as userland features and applications can all be added by providing pointers to their recipes in a given build's configuration file. This is covered in much greater detail in the documentation at http://yoctoproject.org/documentation and on the wiki. 

Hope this helps!

--
Jeff Osier-Mixon http://jefro.net/blog
Yocto Project Community Manager @Intel http://yoctoproject.org

Join {yocto@lists.yoctoproject.org to automatically receive all group messages.