Creating a Yocto Image for the Intel Galileo board using Split Layers

Updated on 24-Apr-2015

This is a guide for building images from source for the Intel® Galileo board, part of the Intel® IoT Developer Kit. First, you need to get the various layers we used to compile an image. You'll need to have a fairly large amount of disk space (~20GB) and be running a modern 64-bit version of the Linux* OS. We've tried it on Debian 7 and openSUSE 12 and expect others will work as well.

The images are based on the 'daisy' branch of poky:

$ git clone –branch daisy git://git.yoctoproject.org/poky iotdk
$ cd iotdk

Add a number of layers on top:

$ git clone git://git.yoctoproject.org/meta-intel-quark
$ git clone –branch daisy git://git.yoctoproject.org/meta-intel-iot-middleware
$ git clone git://git.yoctoproject.org/meta-intel-galileo
$ git clone git://git.yoctoproject.org/meta-intel-iot-devkit
$ git clone –branch daisy git://git.yoctoproject.org/meta-eca
$ git clone –branch daisy http://github.com/openembedded/meta-openembedded.git meta-oe

Source the oe env vars for OE:

$ source oe-init-build-env

You should be in a newly created build/ subdirectory. Set up your layer configuration from this directory by opening a new file, conf/bblayers.conf. The file's contents should read something like this, note that you need to change the layer paths to be changed.

LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?=""
BBLAYERS += " \
/home/brendan/iotdk/meta \
/home/brendan/iotdk/meta-yocto \
/home/brendan/iotdk/meta-yocto-bsp \
/home/brendan/iotdk/meta-oe/meta-oe \
/home/brendan/iotdk/meta-oe/meta-filesystems \
/home/brendan/iotdk/meta-eca/meta-eca \
/home/brendan/iotdk/meta-intel-quark \
/home/brendan/iotdk/meta-intel-galileo \
/home/brendan/iotdk/meta-intel-iot-middleware \
/home/brendan/iotdk/meta-intel-iot-devkit \"

Set up the distro and your build settings, set the number of threads and parallel make to the number of CPU cores on your PC. Place the following in a new file called conf/auto.conf:

DISTRO = "iot-devkit-multilibc"
PACKAGE_CLASSES = "package_ipk"
BB_NUMBER_THREADS = "16"
PARALLEL_MAKE = "-j 16"
MACHINE = "quark"
EXCLUDE_FROM_WORLD_virtclass-multilib-lib32 = "1"

Run the build system:

$ bitbake iot-devkit-prof-dev-image

After this, you should have nearly everything. The next step is to make a bootable uSD card image. We use a tool called 'wic':
$ ../meta-intel-iot-devkit/scripts/wic_monkey create /home/brendanl/ab/yocto-worker/iotdk/build/meta-intel-iot-devkit/scripts/iot-devkit.wks -e iot-devkit-prof-dev-image

After a few minutes, you should find a .direct file in /var/tmp/wic/build/. Write it with dd to your uSD card and pop it in your Intel Galileo board.

For more such intel IoT resources and tools from Intel, please visit the Intel® Developer Zone

Source: https://software.intel.com/en-us/blogs/2015/03/04/creating-a-yocto-image-for-the-intel-galileo-board-using-split-layers

Connect On :