Electronic Engineering Blog

Building Yocto Linux for Edison

The Intel Edison is a tiny embedded micro that has 4GB Flash and 1GB Ram. It runs Linux, and is ideal for embedding as an application platform into all kinds of devices, but especially for IoT and wearables. I am currently working on some new products for a major client of mine based around Edison, and I’m loving the power and flexibility it brings. However the current BSP provided by Intel is broken. Here’s how to fix it.

If you try to build the current Yocto linux image using the Edison BSP the build might fail. The main cause of the failure is that the BSP is out of step with current repository locations.

Specifically, the iotkit-comms-js repository no longer lives at github.com/intel-iot-devkit. So when the build tries to fetch the repository, it hangs at this point. There is no indication that there is any problem, the build just stalls indefinitely. Secretly, in the background, the build is waiting for a username and password, because it thinks the repository has been made private. In fact the repository doesn’t exist at all at the given location.

There is another repository on github for iotkit-comms-js, at github.com/mceisel, so we need to edit the bitbake recipe file that references the correct repository location.

So here are the steps I use to build the Linux image for Edison.

(They are based on Sergey’s instructions which can be found here.)

I ran these steps on a Ubuntu linux machine.

Step 1. Install the essential packages you need for building.
sudo apt-get install build-essential git diffstat gawk chrpath texinfo libtool gcc-multilib

Step 2. Down load the Board Support Package and unpack it.
wget http://downloadmirror.intel.com/24910/eng/edison-src-ww18-15.tgz
tar xzvf edison-src-ww18-15.tgz

Step. 3 Configure the build arena.
cd edison-src/
make setup

Step 4. Fix the build before proceeding.
nano ./out/linux64/poky/meta-intel-iot-middleware/recipes-devtools/iotkit-comm-js/iotkit-comm-js_0.1.1.bb

Find the line near the top of the file that starts with SRC_URI, and change it to read exactly like this:
SRC_URI = “git://github.com/mceisel/iotkit-comm-js.git;protocol=https”

Also fix the incorrect location for paho-mqtt:

nano ./out/linux64/poky/meta-intel-iot-middleware/recipes-connectivity/paho-mqtt/paho-mqtt_3.1.bb
Change the line that starts with SRC_URI to read exactly like this:
SRC_URI = “git://github.com/eclipse/paho.mqtt.c.git;protocol=http \

Step 5. Build the image:
make image

Step 6.
Sit back and watch while the build progresses. It may take several hours to complete, this is normal! Why not take the time to fire up your PS4 and Play Ratchet and Clank for while.

Hope this helps!


Leave a Reply

%d bloggers like this: