3 Replies Latest reply on Jun 4, 2017 6:41 AM by FerryT

    Is Intel Edison Yocto still considered supported at Intel?

    jcondon

      I'm trying to do a build of the yocto distribution but there are multiple issues with the current Yocto release snapshot from Intel ( http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip) and is almost a year old at this point. http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ hasn't had a commit since 2016-03-11. I see others have worked around these issues but honestly a year after the release, they should be worked out if it is supported. Given the release of the Joule and the lack of updates for the edison yocto build, should Edison be considered EOL? I have projects we've done with it but I hate being stuck on old versions of node and I want to just create a Yocto image with the newest Node release but the issues building the baseline image is horrible.


      Is anyone using Edison for new projects or are you using a different image build process?

        • 1. Re: Is Intel Edison Yocto still considered supported at Intel?
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello JCondon,

           

          Thanks for reaching out.

           

          There are no plans to discontinue the Intel Edison yet, so answering your question it is not EOL, and I just want to let you know that we are here to gladly assist you when you need it.

           

          Regarding the issues building the image, please try to build the image with the following steps, consider that we built it using Ubuntu 14.04 (kernel version 4.4.0-38-generic):

           

          1. Make sure that you have Git 1.7.8 or greater, tar 1.24 or greater, Python 2.7.3 or greater excluding Python 3.x, which is not supported.

          2. Install all the dependencies with the command:

          sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
               build-essential chrpath socat libsdl1.2-dev xterm


          3. Download and unzip iot-devkit-yp-poky-edison-20160606.zip (http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip).

          4. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-intel-edison/meta-intel-edison-distro/recipes-core/images/edison-image.bb  and comment or delete the following lines:

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


          5. Go to http://git.yoctoproject.org/cgit/cgit.cgi/meta-java/commit/recipes-core/icedtea/openjdk-7-03b147/sigsegv.patchid=97f81e65843dd1e01c55cae528fd766dd13a265d, download the patch and unzip it.

          7. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/ant and delete the file called ant-native_1.8.1.bb, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/ant/.

          8. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/icedtea/ and delete the file called icedtea7-native_2.1.3.bb, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/icedtea/.

          9. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-java/recipes-core/icedtea/openjdk-7-03b147/ and delete the file fix-checksums.patch, replace it with the file with the same name found in <path_to_downloaded_and_unzipped_patch>/meta-java-master/recipes-core/icedtea/openjdk-7-03b147/.

          10. Go to iot-devkit-yp-poky-edison-20160606/poky/meta-intel-iot-devkit/recipes-connectivity/bacnet-stack and open the file called bacnet-stack_0.8.2.bb. Look for the line:

          SRC_URI = "http://sourceforge.net/projects/bacnet/files/bacnet-stack/bacnet-stack-${PV}/bacnet-stack-${PV}.tgz \

          And change it for:

          SRC_URI = "https://svwh.dl.sourceforge.net/project/bacnet/bacnet-stack/bacnet-stack-0.8.2/bacnet-stack-0.8.2.tgz \

          11. Then follow the usual steps:

          cd iot-devkit-yp-poky-edison-20160606/poky/
          source oe-init-build-env ../build_edison/
          bitbake edison-image u-boot
          ../poky/meta-intel-edison/utils/flash/postBuild.sh .
          zip -r toFlash.zip toFlash

           

          I hope this works for you.

           

          Have a nice day.

           

          Regards,
          Leonardo R.

          • 2. Re: Is Intel Edison Yocto still considered supported at Intel?
            FerryT

            I am working to update meta-intel-edison to morty. I do that by replacing old recipes by newer ones that are in poky morty (or other yocto project layers), where not available fix errors or if that is too hard remove them. This will give you a much more recent version of node.  As a result, I hardly have any .bbappend files now, so less breakage on the next release of poky.

             

            Further I am updating the kernel to one based on Andy Shevsheko's (4.11 vanilla + edison patches) as well as his updated u-boot. Currently everything builds. I will need a bit of time  to get it installed, booting and initialized to a useful state. From there I would like to move to a 64-bit build.

             

            But I already know that mraa will not work. I haven't decided if it would be worth it to port the edison_fab layer to the new kernel, or wait for Intel to do that (or not). mraa development seems to be progressing.

             

            As I see it there are 2 ways forward, either Intel publishes an new image soon (probably similar to my attempt), or we as a community take over. I think it is encouraging to know that much of the edison specific kernel features have been mainlined by Andy (who is an Intel employee, but apparently does this in his spare time). At the same time, there have hardly been commits coming from China the last year, at the same time more seems to be coming from Finland. We'll see.

            • 3. Re: Is Intel Edison Yocto still considered supported at Intel?
              FerryT

              You can find my new images here: GitHub - htot/meta-intel-edison: Here is the meta-intel-edison that builds, tries to stay up to date and provides a PREE…

               

              There are four branches that generate 4 different images:

              • dizzy-uptodate tracks origin/dizzy with 3.10.98 kernel. This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-uptodate with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported.
              • dizzy-latest tracks origin/master as much as possible with 3.10.98 kernel. This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-latest with fixes for paho-mqtt relocated and iotkit-comm-js no longer supported + java support removed. This gives mraa 0.9.0, upm 0.4.1 and mosquitto 1.4.
              • dizzy-rt same as dizzy-latest but with real time kernel. Switches the kernel to the PREEMPT_RT 3.10.17-rt kernel
              • morty experimental branch based on Yocto Morty, vanilla kernel 4.11

               

              To me the most exciting are dizzy-rt and morty. But, if you are just looking to build a new image and can't because the official 3.5 image needs manual modifications try out dizzy-uptodate or dizzy-latest.

               

              If you select one of these branches on github, you will see the contents of the README.md change to the appropriate info for that branch. For morty build instructions can be found on the wiki pages.

               

              Help on morty work is highly appreciated, especially in testing and adding back features that I removed.

              Also, I believe many will be happy to see mraa ported to the vanilla (currently 4.11) kernel, so there applications will work again. Noteworthy things that need to be changed: serial port moved from ttyMFD2 to linux standard ttyS2, pincontrol and pinmux changed to linux standard. The mraa abstraction that takes care is this and needs porting is : mraa/intel_edison_fab_c.c at master · intel-iot-devkit/mraa · GitHub

               

              Ferry