65.9K
CodeProject is changing. Read more.
Home

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

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0 vote)

Sep 16, 2015

CPOL

2 min read

viewsIcon

23238

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

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: