Monday, December 18, 2017

What is Poky?

Poky is the Yocto Project reference system and is composed of collection of tools and metadata. Poky is platform-independent and performs cross-compiling, using Bitbake Tool, OpenEmbedded-Core, and a default set of metadata. The main objective of Poky is to provide all the features an embedded developer needs. It is similar to Buildroot which is used to cross compile Kernel or to create RFS for different architectures such as ARM, x86, PowerPC etc. 
Below is the pictorial representation of relationship of Poky, Bitbake, OpenEmbedded-Core
BitBake: 
BitBake was originally a part of the OpenEmbedded project. BitBake is a generic task execution engine that allows shell and Python tasks to be run efficiently and in parallel while working within complex inter-task dependency constraints.

MetaData: 
Metadata is stored in recipe (.bb), configuration (.conf), and class (.bbclass) files and provides BitBake with instructions on what tasks to run and the dependencies between those tasks.

OpenEmbedded-Core: 
Also called as OE-Core,  is a base layer of recipes, classes and associated files that is meant to be common among many different OpenEmbedded-derived systems and forms the basis of the new structure for OpenEmbedded. 

What is Yocto??


The Yocto  project  is an Embedded Linux distribution builder that makes use of several other open source projects.
The Yocto project provides a reference build system for embedded Linux called Poky,  which has the Bitbake  and Openembedded-Core (OE-Core)  projects.  The purpose of Poky is to build the components needed for an embedded Linux product
> A Bootloader Image
> A Linux Kernel Image
> A rootfile system (RFS) image
> Toolchains and software development kits for application development.

From these observations we can say that Yocto project covers the needs of both system and application developers.

In the next post we will get in details like what is Poky , OpenEmbedded-Core and how to get start with these tools.