Q: What is Yocto?
A. | The smallest unit of measure, equal to one septillionth (10 -24). |
A. | A set of tools for building embedded Linux systems, or |
B. | A collaborative community of developers who want to bring order to the process of embedded Linux development, or |
C. | An ancient Swahili word that translates loosely to ate my hard drive? |
Overview
Since starting this blog, we've talked a lot about LTIB, Timesys, Android, Buildroot and Linaro in these pages, but we've been largely silent about the Yocto Project.
This shouldn't be interpreted as a comment from us about the suitability of the project for use with our boards. It's more of a comment on our lack of experience with Yocto, and the strengths of the folks involved in Yocto and i.MX processors.
As mentioned above, the Yocto Project is an open-source, collaborative project that aims to consolidate the efforts of those involved in embedded Linux systems.
It builds upon the long history of the OpenEmbedded project to provide a framework for building system images through cross-compilation in a similar manner as other open-source projects like Buildroot, LTIB, and PTXDist.
Included in the structure are facilities for SDK creation, IDE integration, and a very large set of supported packages (recipes, in Yocto/OpenEmbedded jargon).
The ate my hard drive comment above was only slightly tongue-in-cheek. After a recent build of fsl-image-gui
, my Yocto tree was 33GB! The package variety is large, and the fsl-image-gui
package includes X, a Desktop Manager, and a lot of demo code.
In our "Where's the BSP?" post, we largely deflected the question, and the Yocto Project provides an open-source answer.
Structure
We are new to the area, but some key things we've learned include:
- The Yocto Project is the umbrella project that defines standards across architectures.
- Poky is a reference system of the Yocto Project. It provides a set of working examples about how a system might be constructed using Yocto.
- Meta-FSL-ARM is a project to add support for Freescale's ARM processors. In Yocto jargon, it provides a
meta
layer with support for various i.MX boards, including ours.
Resources
Freescale and O.S. Systems have put a lot of time and effort into enabling Yocto on i.MX boards.
There are a number of posts on the i.MX Community site, including:
We'd like to give special thanks to Otavio Salvador for not only adding support for our SABRE Lite (er. BD-SL-i.MX6) and Nitrogen6x boards, but also writing some easy-to-follow instructions on how to build and install them.
The meta-freescale mailing list is also a great resource for seeing what others are doing with Yocto and i.MX and collaborating with others in the community who are using Yocto on Freescale processors.