Home » Development and Build » Yocto Embedded Linux » How to build Cross-Toolchain using meta-toolchain recipe from Yocto / Poky ?

How to build Cross-Toolchain using meta-toolchain recipe from Yocto / Poky ?

This article assumes, you already have development environment setup for yocto, if not please read and setup as per “Building Yocto for Raspberry Pi / Creating Embedded Linux for RPi using Yocto”

Along with recipes for building a compiler for its internal use, OpenEmbedded also has recipes to create a full toolchain / cross-compiler environment for the host. Toolchain can be build using meta-toolchain recipe which is part of “openembedded-core” meta layer, hence we will have to first add that layer as,

$ git clone git://git.openembedded.org/openembedded-core
$ cd openembedded-core/
$ git checkout -b thud origin/thud
$ cd poky
$ source oe-init-build-env

Update local.conf to add openembedded-core layer which contains recipes for compiling toolchain

$ vim conf/bblayers.conf
  /home/myuser/workspace/openembedded-core \
  /home/myuser/workspace/poky \

The compilation of toolchain will take some time and its a heavy compilation which might make your development machine unresponsive based on your RAM size, you just have an option to wait, nothing else 🙂

Once the compilation is done successfully, you will see a script generated at build/tmp/deploy/sdk as,

$ ls -l tmp/deploy/sdk/


When we want to install this toolchain, use below command or steps for installation. You can either choose the default location as shown below /opt/poky/2.6.2 or override by typing some directory name, which will be created in current working directory i.e. build. We used directory name “sdk” hence the toolchain will be installed as “build/sdk”

$ ./tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-cortexa7t2hf-neon-vfpv4-toolchain-2.6.2.sh
Poky (Yocto Project Reference Distro) SDK installer version 2.6.2
Enter target directory for SDK (default: /opt/poky/2.6.2): sdk
You are about to install the SDK to "/home/devlab/yocto/poky/build/sdk". Proceed[Y/n]? Y
Extracting SDK...........................................................................done
Setting it up...done
SDK has been successfully set up and is ready to be used.
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
 $ . /home/devlab/yocto/poky/build/sdk/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi

As you can see above build/sdk/environment-setup-cortexa7t2hf-neon-vfpv4-poky-linux-gnueabi script is requested to be sourced to your environment since it contain all environment variables auto generated based on your installation of toolchain/sdk.

FlutLab - Now Develop Flutter Apps...
FlutLab - Now Develop Flutter Apps Online using FlutLab IDE

Leave a Comment

Sign up to our newsletter!