So, I have a Raspberry Pi. I have used quite many different distributions with it but now I have decided to do something of my own. I decided to go all the way to the source this time and as I write this my system is building an embedded image for Raspberry Pi with Buildroot. I also tested Yocto project once again but ended up using Buildroot instead. Below are the reasons why.
+Documentation, wiki etc. is there and it is quite nice.
+Uses ncurses and literally has the same kind of interface than that which you encounter while making a Linux kernel.
+Huge package selection.
+Scales up nicely. You can build a small embedded project or a large one.
+ You can also build a rootfs with a package manager like opkg and then chroot to it and continue building your distribution. This takes a lot of work though.
-Be prepared for a lot of compilation issues and debugging.
-Can be installed on a wide variety of systems but in reality only works well with a bleeding edge distribution.
+ Plenty of work has been put into it.
+You can build via command line or use gui with the Toaster web appliance.
+Has many packages,
+Provides a very easy way to build a basic root file system. Actually, a lot easier than Buildroot.
-When issues come up it takes an effort to find out what is wrong.
-Takes a lot more time and effort to setup correctly.
-Layers, recipes and all other terminology can be confusing at first.
Now, I do not believe that Buildroot can do something that Yocto cannot – or vice versa. The above listing of pros and cons is a personal opinion rising from my own experience. Furthermore, I do think that both projects are awesome and I do hope that both of them continue. What is really apparent when comparing Yocto and Buildroot is that they have different kind of designs on them. The “kernel way”, which is used by Buildroot just works better for me. If you are unsure, which one to use then test them both. And before I go back to my compiling efforts here are the links to Buildroot’s and Yocto’s websites for you to visit.