10 Replies Latest reply on Oct 7, 2014 11:35 AM by mikemoy

    Debian vs Yocto


      Can someone share some light on this issue for me ?


      Recently i have decided to take a stab into the embedded linux realm. The cost keeps coming down and done on these, while yet packing more and more stuff on them. It to the point where it makes no sense for me to keep current on all the different micros i have, and pay for updates on all my compilers. Since the Linux compiler is free, and the hardware is low cost it seems this is well worth investigating.


      Over the last couple months i have bough at least 12 different Linux kits from all over the world just to check things out. All of but one came with Debian installed.

      The one thing that shocked me the most from kit to kit is how they explained installing a new image onto the board. Some where typically the same, and others were quite different.

      I will say that out of the bunch the Raspbery Pi B+ & ODROID-U3 (from http://www.hardkernel.com/) are the simplest to do. Personally i absolutely loved the ODROID-U3 with its quad core, but alas i cannot have a board with all those connectors on it. The rest of the board's i bought where just a joke, poor documentation, support that cannot even speak English and so on.

      Since i am new to Linux in general most of the stuff you guys talk about is over my head. So i look for a company that provides a good clean way to put an image onto a board because at the end of the day when i make a product i need to flash all of these as fast as possible. I cannot be taking all these silly steps per board to dump the final image on them.


      Sorry, got off point a bit there. My question is why did Intel decide to go with something like Yocto over Debian ?  I have not seen any company yet use Yocto on boards like these before so why go down that path to start with. Being that i am new to linux and most likely talking out of my arse, is it better in some way over Debian ?

        • 1. Re: Debian vs Yocto

          Hi mikemoy,

          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.



          • 2. Re: Debian vs Yocto

            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.  

            • 3. Re: Debian vs 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:

              wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz

              tar xvf htop-1.0.3.tar.gz

              cd htop-1.0.3


              make (and wait for it to compile it)

              make install


              I think this make it clear which a better way to spend your time.

              • 4. Re: Debian vs Yocto

                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.

                • 5. Re: Debian vs Yocto

                  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.

                  • 6. Re: Debian vs Yocto

                    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.

                    • 7. Re: Debian vs Yocto

                      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".

                      • 8. Re: Debian vs Yocto

                        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 .

                        • 9. Re: Debian vs Yocto

                          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.

                          • 10. Re: Debian vs Yocto

                            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.