> 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?
* 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.
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.
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.
I want to thank you for the detailed answers. They were very informative!
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?
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).