There is already a thread in the communities which discusses why Yocto and not Debian https://communities.intel.com/thread/50788 . The thread posts some problems and some suggestion to those problems that I think you might find helpful. Let us know if this works.
Sergio, I think Mike has a point (and the thread you linked to doesn't offer much in terms of justification as to why Yocto was chosen for the Edison). The situation appears to be better on the Edison (if I understand correctly, the Galileo didn't even have gcc on board).
It may be just me, but I suspect the reason behind using Yocto was somehow political. Intel may be (passively) trying to not cannibalize its tablet/laptop market by allowing the cheap Edison to be used for anything close to general computing. However, I have used Yocto before (some of the Olimex boards used to require it) and it's a bad bad bad choice for such a general purpose board. The Edison is also powerful enough (especially when you're coming from Arduino) to be able to run a lot of extra processes and tasks. This is not an Arduino Yun people, it has 1 GB of RAM, a dual core Atom and 4 GB of Flash, I think it's safe to say that most people coming from Arduino will not ever need all that processing power. Ok, some might, but those can get Yocto running or optimize Debian for their use (the minimal Debian install is just 200MB and leaves you with 1.2GB free space on /home/).
But the default should definitely _not_ be Yocto! You're driving people away, you're marketing this to makers, not hardcore embedded developers. Makers will not install the entire Yocto toolkit, figure out which packages they need, create their own image and flash it just to get an app running. They want to apt-get this and apt-get that and run - the Edison has plenty of power to allow this "sub-optimal" approach and that's why people want it. Otherwise they'll just go get an Arduino Yun in a ready-to-use package and forget about the Edison. And it's a pity, it's a great little board, you just need to get a community behind it. And that community wants the power of the Edison without the trouble of Yocto.
Well said, i would like to add that the new Raspberry Pi CM also has 4gb Flash. They have Debian in there and you have plenty of room left over.
Intel, consider this...
Its better to have most aps installed and remove them them if you dont need them. I.E. apt-get remove ... than to waste time getting finding the source, compiling it and adding it.
Using Debian, Wouldn't you rather type " apt-get install htop ", and be done ?
Using Yocto, you would have to first find the source, then type:
tar xvf htop-1.0.3.tar.gz
make (and wait for it to compile it)
I think this make it clear which a better way to spend your time.
The only difference I can see between these two use cases is that you are using apt-get for one of them. Apt just retrieves a pre-compiled package and installs on your system - the second case you list is the same, except you compile in the environment, then install. Apt-get is just a wrapper for the second case - functionally, they are the same. Am I incorrect?
In other words, I think what you're really complaining about is no common repository + pre-compiled packages - which usually makes things much easier for beginning and intermediate users (most new users can not solve compiler problems easily).
This is possible in Yocto (opkg) - anyone can host one of those repositories, too. We've been thinking about hosting an official one ourselves with the most commonly requested packages.
The difference is that Debian used everywhere, and is widely understood. If you've used Linux, you probably have some familiarity with Debian (or a Debian based distribution like Ubuntu). Pretty much every package you want is also just an an apt-get away.
I haven't had much chance to experiment with Yocto yet, but I doubt it's as widely supported, and just putting up a package repository is not going to automagically fill it with all the packages that people want.
Understood - I'm not looking for a blanket fix. Apt is rather powerful/complicated, and uses dpkg etc - it started out the same way as what I am throwing out here for Yocto and opkg. It didn't automagically appear one day, either.
For what it's worth, several folks have got Debian to work on Edison now - both inside and outside Intel walls. It's completely possible from what I've seen - just not our focus at the moment. The Galileo 1/2 projects have working Debian builds hosted on Github now, too.
Apt-get also takes care of the dependencies and sometimes there are quite a few of those. For instance, try to install the TightVNC server using Yocto - apt-get needed to pull around 30 additional packages to make it work (including X11 libraries, fonts, a ton of other stuff). You're not going to get away with downloading the TightVNC source and compiling it, it has a ton of dependencies to work. With Debian, if you're stuck you can always do a Google search (or do the "unthinkable" and see how they do it on the Raspberry Pi since it's Debian-based) and get some help, with Yocto you're pretty much stuck if you want something that's even a little bit out of the ordinary. As I said, as an exercise, try to install tightvncserver with Yocto and compare it with "apt-get install tightvncserver".
Oh, and nobody's saying it can't be done in Yocto and that Opkg repositories will not one day be as rich as the Debian ones, but I think that for 80-90% of the projects out there, people will not need an optimized image (you've made the Edison too powerful ), so they would enjoy the comfort of apt-getting the packages they need and going back to what makes their project unique/special instead of spending (valuable) time figuring out how to create a super-optimized super-small super-fast Yocto distribution for their needs. This is like recommending that everyone learns Assembler - I'm pretty sure it would make for the fastest/smallest/most optimized image .
Oh yes, I agree - it is an issue. No fight there. When I first started using Linux, package managers kept me sane.
We've been talking about lots of different methods to solve this. I'm open to suggestions if anyone wants to throw options on the table.
My vote is add a Debian build. I think once there is a Debian build, your not going to find many downloading Yocto.
Think of this as a perk. Many people will be coming over from RPI to Edison. If the Edison has Debian on it, then the switch over will be easy as Pi
They can use what they learned there and apply it here. Since they have a much stronger forum base all the things there will apply here as well. You can use what the Pi started to help grow the Edison.