7 Replies Latest reply on Jan 8, 2017 6:44 AM by leon_

    Build image using edison-src or BSP?


      I have found much conflicting documentation with regards to customizing and building the Yocto image and SDK for the Intel Edison.


      There seem to be 3 ways of building the image.


      1) Use edison-src download and build using bitbake

      2) Use edison-src download and build using make

      3) Use iot-devkit-yp-poky-edison and build using bitbake


      Why is there so much conflicting information?  Are there differences?  If so, what are they?  When should you use one method over the other?  It seems the first 2 are similar and the only difference is build tool choice.  But 1-2 and 3 seem different fundamentally.  Maybe I am wrong.


      Lastly, it seems that all of the ways have issues with checksums and outdated or unsupported URLs and packages.  Is Intel going to release an updated BSP that actually builds without a bunch of patches?  Would/Could Intel just make a repository for the BSP that users could stay on the head of.  The repository could just use submodules for synchronization with the yocto layers such as meta-java etc.


      Any help in understanding this seemingly over-complex set of tools and documents would be great!



        • 1. Re: Build image using edison-src or BSP?
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hi Anthony,

          Thanks for your interest in the Intel® Edison Platform.

          We understand that it could be confusing, however we’ll try to answer your questions:

          You can download the source files and take a look at the README.txt file and there you can find the method to use, BitBake or Make, in order to build the image.
          Looking at the BitBake User Manual, there are mentioned some differences between those methods:

          “BitBake is a program written in the Python language. At the highest level, BitBake interprets metadata, decides what tasks are required to run, and executes those tasks. Similar to GNU Make, BitBake controls how software is built. GNU Make achieves its control through "makefiles". BitBake uses "recipes".”

          For more details regarding those methods we’d recommend taking a look at this information:

          We suggest you, in case you want to build an image, using the BitBake method following this guide: Build an Intel® Edison Image using bitbake,

          There you will need to make the following changes between the second and third steps:

          Then follow with the third step in the guide.

          Regarding your last questions we’ll past your suggestion to our team in charge.

          Hope the information above helps.


          • 2. Re: Build image using edison-src or BSP?

            it seems I encountered the same issue. The documentation inconsistency drives me crazy.


            here is the error message I have, seems to be related to the issue. I will try your patch and post the result.


            WARNING: Checksum failure encountered with download of http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/archive/f89009ada191.tar.bz2;name=openjdk;unpack=false - will attempt other sources if available

            WARNING: Renaming /home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/f89009ada191.tar.bz2 to /home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/f89009ada191.tar.bz2_bad-checksum_2bc941373ca4b033c9a25f972eec7858

            ERROR: Fetcher failure for URL: 'http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/archive/f89009ada191.tar.bz2;name=openjdk;unpack=false'. Checksum mismatch!

            File: '/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/f89009ada191.tar.bz2' has md5 checksum 2bc941373ca4b033c9a25f972eec7858 when c26bbb33addfaeb14d28a1329b4b5a3e was expected

            File: '/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/f89009ada191.tar.bz2' has sha256 checksum 5efd8e66f18fcbf45527bcc74aa3e6ed11f66bc793c88e3841925c4acb4827ba when 54a0ef02b56b265b4122324e08a33c42ececbf2a300ada260611e7b6ccdba96d was expected

            If this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:

            SRC_URI[openjdk.md5sum] = "2bc941373ca4b033c9a25f972eec7858"

            SRC_URI[openjdk.sha256sum] = "5efd8e66f18fcbf45527bcc74aa3e6ed11f66bc793c88e3841925c4acb4827ba"

            Otherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.



            ERROR: Function failed: Fetcher failure for URL: 'http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/archive/f89009ada191.tar.bz2;name=openjdk;unpack=false'. Unable to fetch URL from any source.

            ERROR: Logfile of failure stored in: /home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/temp/log.do_fetch.2507

            ERROR: Task 3003 (/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-java/recipes-core/icedtea/icedtea7-native_2.1.3.bb, do_fetch) failed with exit code '1'

            • 3. Re: Build image using edison-src or BSP?

              Hi Yermi,


              Thanks for providing the instructions. I give it a try and got the following error. Could you be specific about how to patch the icedtea recipe from the downloaded file? I am really new to linux world, have not got things straight.




              NOTE: Error during finalise of /home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-java/recipes-core/icedtea/icedtea7-native_2.1.3.bb

              ERROR: ExpansionError during parsing /home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-java/recipes-core/icedtea/icedtea7-native_2.1.3.bb: Failure expanding variable oe_runconf: ExpansionError: Failure expanding variable EXTRA_OECONF, expression was --with-parallel-jobs=${@java_get_parallel_make(d)}        --disable-tests         --disable-hotspot-tests         --disable-langtools-tests         --disable-jdk-tests         --disable-pulse-java         --disable-docs         --disable-nss         --disable-system-lcms --disable-system-gtk --with-jdk-home=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/work/x86_64-linux/icedtea7-native/2.1.3-r1.0/fake-jdk --with-javac=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/x86_64-linux/usr/bin/javac --with-rhino=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/x86_64-linux/usr/share/java/rhino.jar --with-openjdk-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/f89009ada191.tar.bz2         --with-hotspot-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/a456d0771ba0.tar.gz         --with-corba-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/79ee8535bc51.tar.gz         --with-jaxp-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/77e7219c7424.tar.gz         --with-jaxws-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/d92eda447bca.tar.gz         --with-jdk-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/d7ecb57d3c61.tar.gz         --with-langtools-src-zip=/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/downloads/fd2fdb20d858.tar.gz         ac_cv_path_UNZIP_BIN="/home/ysong/Downloads/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/sysroots/x86_64-linux/usr/bin/unzip"    --disable-headful which triggered exception NameError: name 'java_get_parallel_make' is not defined

              • 4. Re: Build image using edison-src or BSP?
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hi Anthony,


                Thanks for sharing your results.


                These layers are in constantly change, so I understand it could be confusing. We suggest you to download the meta-java-master.zip from here: http://git.yoctoproject.org/cgit.cgi/meta-java/commit/recipes-core/icedtea and replace the meta-java from the image you are building with the folder downloaded. Then you can continue with the instructions mentioned above.


                Hope this information helps.



                • 5. Re: Build image using edison-src or BSP?

                  Hello Yermi,


                  I'm trying to rebuild the image after some time away from the Edison. I followed the patch steps mentioned in the post, but I'm getting the following error:


                  ERROR: ParseError at /home/ubuntu/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-java/recipes-extended/rxtx/rxtx_2.2.0.bb:31: Could not inherit file classes/remove-libtool.bbclass


                  Any ideas why this is happening?


                  Best regards,


                  • 6. Re: Build image using edison-src or BSP?
                    Intel Corporation
                    This message was posted on behalf of Intel Corporation

                    Hi Mario,
                    I would like to know the step by step you have followed. However, I would like to let you know that customize images are out of our support scope and I have been trying to help by sharing some of the experiences I have gotten while building images.  

                    • 7. Re: Build image using edison-src or BSP?

                      Hi Mario,


                      I fixed the rxtx error like that: openjdk7 failures... - Variscite Forums

                      But I got an openjdk8 error: Building 20160606: Problem Fetching icedtea-2.1.3.tar.gz

                      Btw I followed this guide IoT - Introduction | Intel® Software and fixed the icedtea error like descripted above and in the thread linked above.

                      It would be really nice if somebody from Intel could look about that.