0 Replies Latest reply on Apr 29, 2017 6:57 AM by FerryT

    Edison images that actually build (including real time kernel) - solved

    FerryT

      Currently AFAIK there are 2 sources for building an edison image: 1) http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ (git) and 2) http://iotdk.intel.com/src/3.5/edison/iot-devkit-yp-poky-edison-20160606.zip (snap shot). Unfortunately both won't build.

      1) Some dependencies are missing, because they have been relocated or are no longer supported.

      2) Java won't build

       

      Further, for many industrial applications (IIOT) the use of a real time kernel is inevitable. The reason is that depending on the load (due to f.i. wifi, or usb) the response from the Edison to communication request can take anywhere from 1 ms to 100 ms. With a PREEMPT_RT kernel this will stay below 1 ms, sacrificing wifi bandwidth with a factor 2 or so. How to build such a kernel can be found on this forum, but the procedure is a bit cumbersome.

       

      As commits to the yoctoproject git are scarce and your local changes or commits get lost when you run make setup I have forked http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/. to my repository GitHub - htot/meta-intel-edison: Here is the meta-intel-edison that builds, tries to stay up to date and provides a PREE…

       

      I am hoping that through this fork we can nudge Intel push their commits more often, and accept pull requests from the community. Also I hope that the iot-devkit 4.0 will be published as a git instead of a snapshot, as it is a pain to track or update now.

       

      Currently master tracks http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-edison/ tag dizzy (so that won't build) with only a README.md added. I have created three additional branches that do build: dizzy-uptodate, dizzy-latest, dizzy-rt.

      • dizzy-uptodate tracks origin/master with 3.10.98 kernel with fixes applied so it will build.

      This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-uptodate with fixes relocating paho-mqtt  and removing iotkit-comm-js that is no longer supported.

      • dizzy-latest same as dizzy-uptodate but with more current middleware.

      This branch pulls https://github.com/htot/meta-intel-iot-middleware.git branch dizzy-latest with dizzy-uptodate fixes  + 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

       

      All 3 currently build, and I will try to keep it that way. Please post any issues you find here: Issues · htot/meta-intel-edison · GitHub. Same for pull request to improve the functionality.

       

      I have found it to be necessary to build on Ubuntu 14.04, so I do that in a container in Kubuntu 17.04. A virtual machine should, but will probably be very slow. I haven't tried on windows, but on Windows 10, Ubuntu for Windows provides a Ubuntu 14.04 subsystem, so that should work nicely too.

       

      When building there are some QA warnings, these have always been present and are apparently harmless. Nevertheless irritating, so I plan to fix these soon.

       

      So, again, the link to the repository: https://github.com/htot/meta-intel-edison