Free Electrons develops embedded Linux & Android software, and also provides related training. On-site training sessions are scheduled from time to time, or organized on request, and they usually release their training materials for free, as they did for their Embedded Linux training in 2012, or their Yocto Project / OpenEmbedded course more recently.
Thomas Petazzoni, Free Electrons’ Chief Technical Officer, recently informed me that the company also released training materials for Buildroot, which like the Yocto Project is a build system, but it had been around for much longer, and the company is actively participating in its development with over 2,800 patches submitted upstream over the years.
Four main resources have been released for the course, under a Creative Commons BY-SA license:
- training materials for Buildroot – 325 pages
- Practical labs instructions (PDF) with BeagleBone Black – 32 pages
- Practical labs data (.tar.xz) – Patchsets for drivers, rootfs, and sample app
- LaTeX source code in their Git repository which should be the same as above, but you can make sure this is the latest version, but checking out and building the documentation yourself.
The on-site training itself lasts 3-days, with a public session scheduled on November 30 – December 2 in Toulouse, France (1,690 Euros per seat), but companies may also request on-site training sessions anywhere in the world starting at around 7,000 Euros for up to 16 people + travel expenses for a 3-day course.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Are there key philosophical differences between the approach buildroot takes versus other projects (openembedded, yocto, etc)?
I’m sure all these tools are equally complicated, and much easier to use than they were before, but just skimming the buildroot training material, it still looks very involved! Perhaps someday far in the future, it’ll be just a few clicks on a gui!
@ben
Yes, there are key philosophical differences between the two. Read the slides to discover the key design principles of Buildroot. And we also have similar training materials for Yocto to allow you to compare.
Building an embedded Linux system will never be “just a few clicks on a GUI”, integrating so many components from various sources definitely requires some level of knowledge and expertise. It’s a fairy tale to believe that it can be made all completely automagic. Though I believe Buildroot is already quite close to being automagic as long as you are using the already existing packages.
@ben Since quite a long time ago there is a “make xconfig” tool available in Buildroot. It launches a Qt based GUI similar to that of the Linux kernel and very simple to use. However, as Thomas said, if you need to modify things yourself, that’s a whole different matter. I’ve been using Buildroot and Yocto, and both have their strengths and weaknesses. I think Buildroot is better for beginners, more simple to use and it generally creates smaller root file systems. On the other hand, if you remove a package, you need to rebuild everything. Also, if you need… Read more »
@Peja
Also, if you need to change something, you practically have to fork Buildroot’s source tree.
This is actually not quite true. Look at the BR2_EXTERNAL mechanism.
@Thomas Petazzoni
It has been a few years since I used it seriously, and they added that feature in the mean time. BR2_EXTERNAL really solves the biggest gripe I had with Buildroot. Thanks a lot for the info Thomas!p