Now, don't take this the wrong way, but I'm not quite sure this DIY concept is your thing.
I could be wrong, but you do sound really really frustrated already.
With that out of the way ... here's a link to AlexT's binary build which has everything
to get you reasonably well under way. http://alextgalileo.altervista.org.
I am about 99.53% sure that these prebuilt images from Alex are:
- a) vanilla, and so uclibc based, and so opencv will not work in these images
- b) both require you to update the stock firmware in order to work correctly. I know you can do that via serial link because that's how I did it.
Let me go back to the original posters question.
As far as I know (and I have personally done this, and I know it works)
1. In order to make opencv work, yes indeed you do need to rebuild, from scratch, using the yocto build environment, an eglibc based Linux image. This will take several hours but works pretty much as described by Sergey.
2. Strictly speaking, you do not need to follow the complete instructions in Sergey's blog (although it is useful to do that). Following Sergey's instructions to the letter also gives you a galileo image which contains a full development toolchain. This is why you increase the size of the SD image to 3GB
3. I don't understand OP's question (2). Perhaps you can elaborate?
4. If you mean "compile opencv from source on the galileo", I tried that too. Don't bother. While building it will work, if you do it correctly, it will
- a) take ages, and
- b) not work anyway. OpenCV just doesn't work on the uclibc based images.
5. Finally, if you *do* rebuild a Linux image based on eglibc, you will need to rebuild the cross compiler toolchain in order to make Arduino work and hook it into your Arduino IDE. This works too, and someone just posted yesterday how to do this for Windows which I haven't tried yet, but I will soon.
I have a prebuilt image, eglibc based, 3GB in size (although it compresses down a lot more), including toolchain, with working opencv.
If you don't mind taking an image from a complete stranger, I'll upload it for you to someplace later this evening. It is more or less the full "sergey" build, with one addition. I have enabled swap functionality because I am trying to build something which won't build without swap. (dunno yet if it will build ~with~ swap, but that's something to try for later this evening)
Unpack to SD card
Enjoy opencv goodness
actually actually ..
now that I think of it, my SD image is based on the 1.0.0 release
So the complete set of instructions is really:
Update SDI firmware to 1.0.0
*Now* unpack my image to SD card
Enjoy opencv goodness
So first do a bit of online research and find out if "update firmware to 1.0.0" is something you are interested in doing. If so, you're welcome to my SD image if you need it.
Otherwise you could just rebuild, using yocto, and based on the 0.7.5 release, an eglibc based SD card image.
opencv will work on that.
Not addressing the original question (as it looks to be answered already), I just wanted to touch upon the image thing mentioned by LarsR and ultralman for anyone reading this thread later on. The images on alextgalileo.altervista.org are indeed vanilla, the idea is to provide a prebuilt Linux image based on the latest BSP + respective SPI flash binary. As such these images don't have development tools and may require SPI firmware update (e.g. with current 0.7.5 being official and 1.0.0 being the latest, firmware update is needed, e.g. with 0.9.0 it wasn't).
What LarsR probably was referring to in this context was rather a "devtools" image one can find in this thread: Collaborating to develop a "devtools" version of Linux which is Arduino IDE compatable. It is still uclibc-based, but does have dev tools installed, so you shouldbe able to compile stuff right on Galileo. It is based on the officially released BSP version (0.7.5) and as such doesn't require firmware update beyond recommended by Intel.
As far as OpenCV is concerned, it's actually interesting to see where the problem is. Quick googling doesn't reveal any fundamental roadblocks for OpenCV to work with uclibc, so maybe ther is a solution for that. Given the frequency of the questions on that topic, it may be worth digging into this to find a specific reason and potentially a fix...
What I was trying to convey was the analogy of Yocto building and climbing Mount Everest.
If the mountain is too steep, maybe try and find a less steep mountain to climb, instead of getting as frustrated as the original poster.
No offence to anyone, but for me, your image Alex was "the lesser hill to climb", thats why I like to point it out to the countless people
who seems to struggle with Yocto. Heck, it took me the better part of a week researching the build manuals before I made it work for me.
Yeah, I too spent quite a lot of time at the beginning picking various pieces of information from various sources to be able to do something meaningful :-)
What do you think would help people to start with Yocto, given that we have a prebuilt VM image they can use (with supported OS version and with all prerequisites installed, which are two of the main problems I've seen so far) and compilation guides in BSP Build Guide, by Sergey and elsewhere? Do you think these guides still lack something? I'm willing to write one if that's the case. And the same could be then expanded to SPI/firmware capsule building.
I really don't think there's much that can be improved to what you already made available Alex. It's top dollar as is.
I do think that the Intel'ers here need to either push work like yours to be more visible or come clean and tell everyone that the IoT kit and page is the way to go from here.
The problem in my mind is that people are being told to go straight to Mount Everest, i.e. Yocto.
It's like saying "Who needs Redhat or Debian, heck no, lets go make our own". Very obvious to me with the volume of people here with build problems.