YOCTO is the tool of choice for NXP for the creation of embedded Linux distributions for i.MX6.  

This page details how to get setup to build Linux for Opal-6 using YOCTO.  

We assume you already have a Linux machine (virtual or not) setup and ready to use.  If not, you can follow our instructions here to setup a Virtual Machine for this purpose.

There are two way to get setup:

  1. Automated setup using our installer script
  2. Manual setup  - for advanced users who want to have more control over the process

Automated Setup

The following script will take care of downloading and configuring YOCTO for Opal-6.

  • Download install_opal6_yocto.sh
  • Set script to executable and run with the following commands:
    • $ chmod +x install_opal6_yocto.sh
    • $ ./install_opal6_yocto.sh

Once the script has finished, skip to the section Building and Deploying Linux on Opal-6

Manual Setup

Initial Setup and YOCTO Installation

Original instructions can be found here: https://community.freescale.com/docs/DOC-1616

In a terminal windows on your Linux machine, do the following:

Install the required components:

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo build-essential chrpath libsdl1.2-dev xterm curl 

Next run the following commands to install the YOCTO build environment.  This installs the 'repo' tool used to manage YOCTO:

$ mkdir ~/bin

$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

$ export PATH=$PATH:~/bin

If you have not setup git previously, do the following, replacing the "you@example.com" and "Your Name" with your real details:

$ git config --global user.email "you@example.com"

$ git config --global user.name "Your Name"

Now complete the YOCTO install

$ mkdir fsl-community-bsp

$ cd fsl-community-bsp

$ repo init -u https://github.com/Freescale/fsl-community-bsp-platform -b rocko

$ repo sync

Install the Opal-6 Meta Layer

The Opal-6 meta layer contains the recipes required to build the Opal6 demo images. These include u-boot, the Linux kernel, root file system images and some demo applications.

To install the Opal-6 meta layer for YOCTO:

$ cd sources

$ git clone https://github.com/DeviceSolutions/meta-opal6-demos.git

$ cd meta-opal6-demos

$ git checkout rocko

Install Third Party Components

The default Opal-6 image requires external components acquired from third parties so install them as follows:

$ cd ~/fsl-community-bsp/sources

$ git clone git://git.yoctoproject.org/meta-mono.git

You should now have two new layers called meta-opal6-demos and meta-mono.

Configure the Build Environment

Initialise YOCTO using the following commands.  This generates the build environment files.

$ cd ~/fsl-community-bsp
$ source setup-environment build

 Next we modify the build file to specify it is Opal-6 we are building. This is specified by the MACHINE variable in ~/fsl-community-bsp/build/conf/local.conf. Open the file in an editor and set:

For Opal-6 QUAD:  

MACHINE ??= ‘opal6q’

For Opal-6 DualLite:

MACHINE ??= ‘opal6dl’

Now add our meta layers to  ~/fsl-community-bsp/build/conf/bblayers.conf.  This file needs careful editing.  Add the lines below in bold:

BBLAYERS = "

${BSPDIR}/sources/poky/meta \
${BSPDIR}/sources/poky/meta-yocto \
\
${BSPDIR}/sources/meta-openembedded/meta-oe \

${BSPDIR}/sources/meta-openembedded/meta-multimedia \
\
${BSPDIR}/sources/meta-fsl-arm \
${BSPDIR}/sources/meta-fsl-arm-extra \
${BSPDIR}/sources/meta-fsl-demos \
\
${BSPDIR}/sources/meta-openembedded/meta-python \
${BSPDIR}/sources/meta-openembedded/meta-networking \
${BSPDIR}/sources/meta-openembedded/meta-gnome \
${BSPDIR}/sources/meta-openembedded/meta-xfce \
${BSPDIR}/sources/meta-opal6-demos \
${BSPDIR}/sources/meta-mono \







Complete documentation for YOCTO is available on the YOCTO project web site.