Community
cancel
Showing results for 
Search instead for 
Did you mean: 
GGerh
New Contributor I
1,926 Views

Intel Edison Firmware Software Release 3.5 FAQ ?

Jump to solution

For the last two month i'm trying to build a custom Yocto Poky Image which fulfill my needs. Everyday i'm facing new problems and challenges about this topic and in my opinion it would be so much easier to get along with the intel edison if there would be a FAQ page about the Edison buildsystem and Sources.

I will give same examples about what really bothers me about the process of building an image using the Intel sources and documentation.

What would i like to know ?

 

I first built my Image with a personal layer, to not influence the standard layers and recipes. I used the sources form edison-image-from-src-package-ww25.5-15.zip as you can imagine i had to put a lot of afford to it to update all of the recipes (for example gcc, mraa, util-linux ...) to my needs. So at first it would to be nice to have a document which is showing all recipes and packages by name and version and maybe a note about what changes has been made to fit to the intel edison.

I followed the instructions from https://software.intel.com/en-us/node/593591 IoT - Build an Intel® Edison Image using bitbake | Intel® Software

that worked fine so far.

After the release of the 3.5 Firmware i decided to build a new image using the sources iot-devkit-yp-poky-edison-20160606 from http://iotdk.intel.com/src/3.5/edison/ http://iotdk.intel.com/src/3.5/edison/ . In the zip file there is a README.edison and i assumed that it would provide some instructions to build the new image. So i followed the instructions and it dont worked... there are problems with the java layer which i'm not able to solve.... So i looked up the communitie posts and the solution is the follow up the old instructions from https://software.intel.com/en-us/node/593591 IoT - Build an Intel® Edison Image using bitbake | Intel® Software . So before i started to build i checked some recipe versions and i was kind of surprised that all the versions i checked (mraa 0.7 ?) hasn't changed. So by using the setup.sh in the edison layer it seems that all the old stuff from the ww25.5-15.zip is downloaded. So i checked the Documentation from Intel https://software.intel.com/en-us/blogs/2016/06/06/intel-iot-dev-kit-35-release-announcement https://software.intel.com/en-us/blogs/2016/06/06/intel-iot-dev-kit-35-release-announcement what have been changed and as you can see the mraa version is updated to MRAA 1.0.0 and UPM 0.7.0. So what sources do have to use to get that. Also there is a difference in the build configuration the DISTRO_VERSION is 1.7.2 if i use the README.edison instructions DISTRO_VERSION is 1.7.3

So i really would like to know what have changed in the sources ?

 

Are the iot-devkit-yp-poky-edison-20160606 the latest sources ?

 

Why i'm not able to build from that sources by instructions provided by file called README.edison!!!!!?

Which files,layers,recipes are downloaded by ./meta-intel-edison/setup.sh --dl_dir=<=/<path_to>/bitbake_download_dir --sstate_dir=<=/<path_to>/bitbake_sstate_dir.

 

Why is intel capable of building a new image which new versions of mraa and a lot more recipes and its not possible for me ?

Maybe this is all my fault and there are already solutions for all my questions and problems....

It would be nice if intel would provide some more informations about what the doing!

0 Kudos
1 Solution
idata
Community Manager
83 Views

Hi Gerrik84k,

First of all I want to apologize for long delay for this.

I finally found the way to build the latest Edison Image (Distro 1.7.3) from source. You can download the latest version here: http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip, and you can follow the README that is in there, now it matches with this guide https://software.intel.com/en-us/node/593591 https://software.intel.com/en-us/node/593591.

Before you build the image you have to change the following recipes:

1. Edit the icedtea recipe that is in ..../poky/meta-java/recipes-core/icedtea and apply the patch needed here http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea.

2. You have to edit the next file poky/meta-intel-edison-distro/recipes-core/images/edison-image.bb, because the iotkit-comm-c was removed from Github since it was mainly used to send data to IoT Analytics dashboard and it has been discontinued.

Comment the following lines: IMAGE_INSTALL += "iotkit-comm-js"  

IMAGE_INSTALL += "iotkit-comm-c-dev"

If you do these changes you can build the image without errors.

I hope you find this useful, and we really appreciate your patience.

Regards,

 

-Leonardo

View solution in original post

9 Replies
FerryT
Valued Contributor I
83 Views

Yes, I was wondering the same. We are using http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/

Strangely, this pulls a newer kernel 3.10.98, but the setup script checks out an older version of meta-intel-iot-middleware-mirror (and with that mraa 0.7.2). We could clone the thing and publish the new layer with updated setup script on github...

But I haven't been able to figure out which revision of meta-intel-iot-middleware-mirror etc. to checkout, among others.

It seems the various teams at intel working on this could benefit from working from the same, single, source as we users?Maybe https://github.com/01org https://github.com/01org would be a good place for it? It would at least be easier to keep released version and branches apart.

idata
Community Manager
83 Views

Hello Gerrik84k,

 

 

Thank you so much for your comments, we really appreciate your feedback and we are going to notify to the right team to consider all the issues you are experiencing about the documentation.

 

 

We honestly understand that all these issues can be frustrating, but we are going to do our best to help you. Now, about building an Edison Image (latest), I normally follow the next guide with some extra steps: http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/about/.

 

 

I suggest you to try the following steps:

 

 

1- Prepare your workspace: $ mkdir my_Edison_Workspace   2- Get this layer: $ git clone git://git.yoctoproject.org/meta-intel-edison   3- Make things easier with 'make': $ ln -s meta-intel-edison/utils/Makefile.mk Makefile   4- Download all the needed dependencies: $ make setup  5- Edit the file ~/edison-src/out/linux64/poky/meta-intel-iot-middleware/recipes-connectivity/paho-mqtt/paho-mqtt_3.1.bb In the line SRC_URI do:   SRC_URI = "git://github.com/eclipse/paho.mqtt.c.git;protocol=http \  file://makefile.patch \ "  6- make edison-image

 

 

I hope this information helps you to build an Edison Image, if you need information about how to build a custom image I think the best document that you can check is: http://www.yoctoproject.org/docs/1.7.3/mega-manual/mega-manual.html.

 

 

Thank you for remaining so positive, and remember that we are here to help you.

 

 

Have a nice day.

 

 

Best Regards,

 

-Leonardo
FerryT
Valued Contributor I
83 Views

Hello Leonardo,

I do exactly what you do ( except for the commit that changes the kernel to 3.10.98 as I am playing with preempt_rt 3.10.14), which works fine.

Now, if you take a look in the setup script you will find these lines:

git clone ${my_dl_dir}/meta-intel-iot-middleware-mirror.git meta-intel-iot-middleware cd ${middleware_dir} git checkout c6d681475e76107e6c04c5f7a06034dc9e772d1e

That corresponds to the commit of 2015-06-12 here http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-iot-middleware/log/ http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-iot-middleware/log/

As you can see that includes upm 0.3.1 and mraa 0.7.2. Latest has upm 0.6.1 and mraa 0.10.1!

So using this setup script you build the firmware 2.1 but with a newer kernel. But not the firmware 3.5 (which has newer mraa, but oldly the older kernel).

Would it be a lot to ask, to update the setup script so that 3.5 is built?

And then while we're at it, fix the line (your edit above) in

http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-iot-middleware/tree/recipes-connectivity/paho-m... http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-iot-middleware/tree/recipes-connectivity/paho-m...

as this has been broken for quite a while and only adds to the learning curve when to you try to build the first time.

idata
Community Manager
83 Views

Hi FerryT,

 

 

Thank you so much for your feedback, we are going to pass these comments to the right team to do something about it and fix the line mentioned before.

 

 

Regarding the versions of the UPM and MRAA if think that the best way to update them is editing their respectively recipes, or you can update them from the official repository when you are using the image.

 

 

Have a nice day!

 

 

Regards,

 

-Leonardo
FerryT
Valued Contributor I
83 Views

Hello Leonardo,

Thanks for passing the information on.

Regarding producing an image ourselves containing up-to-date versions of UPM and MRAA we are aware that there are various ways to do that including what you suggested, or by editing the setup scrips ourselves.

However, I do not think this answers gerrik84k's questions. Or mine, which might be summarized as:

When I clone the layer from the Yocto project git (as you recommend, and we already do), why isn't the result the same as the binary 3.5 image provided elsewhere and how should we edit/modify setup.sh to get it the same?

Thanks,

Ferry

idata
Community Manager
83 Views

Hi FerryT,

 

 

Sorry about that, let me investigate a little more and I'll let you know when I have updates of the case.

 

 

Thank you for your patience.

 

 

Regards,

 

-Leonardo
idata
Community Manager
84 Views

Hi Gerrik84k,

First of all I want to apologize for long delay for this.

I finally found the way to build the latest Edison Image (Distro 1.7.3) from source. You can download the latest version here: http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip, and you can follow the README that is in there, now it matches with this guide https://software.intel.com/en-us/node/593591 https://software.intel.com/en-us/node/593591.

Before you build the image you have to change the following recipes:

1. Edit the icedtea recipe that is in ..../poky/meta-java/recipes-core/icedtea and apply the patch needed here http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea.

2. You have to edit the next file poky/meta-intel-edison-distro/recipes-core/images/edison-image.bb, because the iotkit-comm-c was removed from Github since it was mainly used to send data to IoT Analytics dashboard and it has been discontinued.

Comment the following lines: IMAGE_INSTALL += "iotkit-comm-js"  

IMAGE_INSTALL += "iotkit-comm-c-dev"

If you do these changes you can build the image without errors.

I hope you find this useful, and we really appreciate your patience.

Regards,

 

-Leonardo

View solution in original post

YYS_S
New Contributor I
83 Views

hi Leonardo,

I got really confused about the description: It seems the change is to ant instead of icedtea recipe. Could you detail the procedure of this step?

1. Edit the icedtea recipe that is in ..../poky/meta-java/recipes-core/icedtea and apply the patch needed here http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea.

idata
Community Manager
83 Views

Hi AnteaterS,

 

 

You have to consider that these layers are constantly changing, so it can be that there is a new commit.

 

 

I recommend you to change the complete directory to avoid these confusions.

 

 

Regards,

 

-Leonardo
Reply