Installing and Configuring an Opal-6 Development Environment
- Martin Welford
- John Inglis
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:
- Automated setup using our installer script
- 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 \
"