Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Creating a Yocto image for the Intel® Galileo board using split layers

16 Sep 2015 1  
This is a guide for building images from source for the Intel® Galileo board, part of the Intel® IoT Developer Kit.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Get access to the new Intel® IoT Developer Kit, a complete hardware and software solution that allows developers to create exciting new solutions with the Intel® Galileo and Intel® Edison boards. Visit the Intel® Developer Zone for IoT.

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 dizzy git://git.yoctoproject.org/poky iotdk
$ cd iotdk

Add a number of layers on top:

$ git clone --branch dizzy git://git.yoctoproject.org/meta-intel-quark
$ git clone --branch dizzy git://git.yoctoproject.org/meta-intel-iot-middleware
$ git clone --branch dizzy git://git.yoctoproject.org/meta-intel-galileo
$ git clone git://git.yoctoproject.org/meta-intel-iot-devkit
$ git clone --branch dizzy 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-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. Place the following in a new file called conf/auto.conf:

DISTRO = "iot-devkit-multilibc"
PACKAGE_CLASSES = "package_ipk"
MACHINE = "quark"
$ 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 -e iot-devkit-prof-dev-image 
../meta-intel-iot-devkit/scripts/lib/image/canned-wks/iot-devkit.wks

Once wic has finished it will print the path to a .direct file in /var/tmp/wic/build/. Write it with dd to your uSD card (remember to use sync before removing it!) and pop it in your Intel Galileo board.

Intel® Developer Zone for IoT

Start inventing today with the Intel® IoT Developer Program which offers knowledge, tools, kits and a community of experts to quickly and easily turn your innovative ideas into IoT Solutions.

Dream it, Build it with the Intel® IoT Developer Kit for Intel® Edison and Intel® Galileo platforms. These kits are versatile, performance-optimized and fully integrated end-to-end IoT solutions supporting a variety of programming environments, tools, security, cloud connectivity and hardware.

For more resources and to learn how the new Intel® IoT Developer Kit v1.0 can help streamline your IoT projects:

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here