Yoctoproject is a framework for creating Linux distributions for embedded devices. Its layering mechanism makes it easy to add Linux to new target devices highly customized for a particular platform; it can include custom start-up scripts, software packages built with a high degree of optimization for a particular architecture, and different user interfaces from full Gnome desktop to a simple a serial console.
Yocto has 2 basic layers: board support packages layer and core layer. In the BSP layer is where all the custom software and configuration tweaks for a particular platform are included, while the core layer provides the common software stack to provide from a simple command line interface to Sato desktop interface (Matchbox based and Gnome mobile software stack). A third layer could be added to provide additional user interfaces LXDE, XFCE, and more; YP is quite flexible&emdash;one of it major strengths.
Installing any Needed Package
Go to Yocto Project Quick Start and double check that you have all the necessary packages installed for your machine.
For example, if building machine was an Ubuntu machine:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm curl
Using Yocto and i.MX Boards
Please, go to project's README file in order to see the recommended instructions to download the source code.
Testing Yocto for i.MX6
i.MX53 QSB - Quick Start Board
Edit conf/local.conf user config file and set imx53 Quick start board machine and enable parallel build features.
MACHINE ?= "imx53qsb" BB_NUMBER_THREADS = "4" PARALLEL_MAKE = "-j 4"
i.MX6 Sabre Lite Board
Edit conf/local.conf user config file and set i.MX6 Sabrelite board machine and enable parallel build features
MACHINE ?= "imx6qsabrelite" BB_NUMBER_THREADS = "4" PARALLEL_MAKE = "-j 4"
if you've been facing problems to get yocto's images working on your i.MX Sabre Lite board, please take a look on this comment Re: The kernel sometins hang in L3.0.35_4.0.0_130424 release
Build the image
some example of available image:
|core-image-minimal||A small image just capable of allowing a device to boot.|
|core-image-base||A console-only image that fully supports the target device hardware.|
|core-image-sato||Image with sato, a mobile environment and visual style for mobile devices. The image supports X11 with a Sato theme, Pimlico applications and contains terminal, editor and file manager.|
|fsl-image-test||Builds contents core-image-base plus Freescale test applications and multimedia components.|
|fsl-image-gui||Builds contents of core-image-sato with Freescale test applications and multimedia with hardware accelerated X11|
To build the image:
$ bitbake <image_name>
Build using Dash instead can bring some problems. You can check what your system uses typing: "ls -l /bin/sh". On Ubuntu you can change it using "dpkg-reconfigure bash". Some Ubuntu releases you must use "dpkg-reconfigure dash" and choose Bash
Built images are located in
sudo dd if=core-image-minimal-imx6qsabrelite.sdcard of=/dev/sdb