6 Replies Latest reply on Jun 19, 2014 1:27 AM by AlexT_Intel

    What is the yocto image and can you use arduino with it?

    Tom1988

      Hello,

       

      I'd like to learn more about the Yocto image for Galileo. I'm following Sergey's blog: http://www.malinov.com/Home/sergey-s-blog/intelgalileo-buildinglinuximage

       

      If you rebuild this? Do you get the same 'bigger' Linux image that you can download with from the Intel site? The one the enables wifi, python, node.js etc?

       

      Typically what other features would you/can you add to a build?

       

      If this is not the same as the 'bigger' linux image, can you use Arduino and python with this yocto image?

       

      Apologies if these questions are basic.

       

      Thanks

      Tom

        • 1. Re: What is the yocto image and can you use arduino with it?
          AlexT_Intel

          > If you rebuild this? Do you get the same 'bigger' Linux image that you can download with from the Intel site?

          Yes, you get the "SD card"-type (as opposed to "SPI") image and it will ocntain node.js, wifi features and Python, but no - it's not the same. In that article Sergey describes building the image with the base library - libc - replaced, eglibc instead of [default] uclibc. If you only execute the "Basic steps to rebuild the image" then you'll get the same stuff you can download.

           

          > Typically what other features would you/can you add to a build?

          Things like:

          * Adding software, which would be baked into the image right away vs. installing it from the package repo;

          * Modifying Linux kernel configuration to enable additional features or drivers (e.g. adding support for more types of webcams) or disable it;

          * Modifying software, e.g. adding specific patches to kernel or specific applications;

           

          These are the ones that I can think of right away.

           

          > If this is not the same as the 'bigger' linux image, can you use Arduino and python with this yocto image?

          Sketches ("Arduino" in your question) won't work with image built this way, it's broken there. Python will still work. There's an eglibc-based image where both would work (see Intel IoT DevKit in Google), but from this standpoint there's no benefit compared to the default image, except for the Python OpenCV bindings (which don't work yet on the default image and do work on eglibc one). So if you need OpenCV in Python - you need eglibc-based image and then you'd be better off using DevKit. If you don't need OpenCV in Python (or at all) - the default one (or the devtools one, based on the default) would do.

          • 2. Re: What is the yocto image and can you use arduino with it?
            JPMontero_Intel

            Hi Tom1988

            The steps indicated in Sergey’s blog are for the full image and there is a section for the small image as well. Also in there are steps for customizing your own image. If you use the Full image you will lose the Arduino side. But if you create your own you could add more languages and tools.

            Regards
            JPMontero_Intel

            • 3. Re: What is the yocto image and can you use arduino with it?
              mhahn

              there's no benefit compared to the default image, except for the Python OpenCV bindings (which don't work yet on the default image and do work on eglibc one). So if you need OpenCV in Python - you need eglibc-based image and then you'd be better off using DevKit. If you don't need OpenCV in Python (or at all) - the default one (or the devtools one, based on the default) would do.

               

              well, always depends on what you want to achieve. With eglibc being "embedded glibc" it is much closer to glibc than uclibc. If you want to bring a SW to Galileo - not only OpenCV - you might have to face quite some challenges adopting for uclibc whereas it probably would be a much smaller journey (or feasible at all) using eglibc.

              Possibly you might also see differences in performance - haven't measured on G though.

              • 4. Re: What is the yocto image and can you use arduino with it?
                Tom1988

                I want to thank you for the detailed answers. They were very informative!

                 

                Cheers

                Tom

                • 5. Re: What is the yocto image and can you use arduino with it?
                  Tom1988

                  Hi Alex,

                   

                  One follow up question, if you don't mind.

                   

                  I came across this display project in the project gallery which has a nice instruction document attached: Intel Galileo e-Ink Reader

                  I'm thinking of setting it up, you know learn by doing...

                   

                  On P.7 it describes building a full yocto image. This is the same SD image that Sergey describes, correct? The last 3 bullet points seem to be additional steps?

                   

                  My main question is if I follow these steps and get the screen working, will I be able to use Arduino also? I gather not from your answer but the document has references to Arduino and pictures of the GUI?

                   

                  Thanks

                  Tom

                  • 6. Re: What is the yocto image and can you use arduino with it?
                    AlexT_Intel

                    mhahn, no disagreement here :-) eglibc indeed has its benefits over uclibc as well as drawbacks - that's why I put "from this standpoint" (which meant "have Arduino IDE and Python working", which seemed to be the most interesting piece for Tom) right before the "there's no benefit <...>" you quoted.

                     

                    Tom1988, you're welcome. As far as that e-ink project is concerned - yes, they build eglibc-based image there, based on Sergey's blog instructions. Which means sketches won't work there and they actually don't seem to use it in the project. The reference to IDE they make in their project description document seems to only have a goal of upgrading the FW and checking the board is running ok with Blink.

                     

                    To be honest, it's not clear why they needed such an image, probably because of the compiler and other dev. tools, which they probably use to compile the code driving the screen right on the Galileo (as opposed to cross-compiling). I don't see any references to the actual code or description of the exact solution, so I can't check.

                    If that's the case, then I think you may be able to do the same with the devtools image I'm working on with other folks in the Community (just search for "devtools"). It's based on uclibc (so sketches work), but has gcc and other stuff (so you can compile your code right on the board).