The Buildroot project has recently released a new version, 2015.05. With exactly 1800 patches, it’s the largest release cycle ever, with patches from more than 100 different contributors. It’s an impressive number, showing the growing popularity of Buildroot as an embedded Linux build system.
The CHANGES file summarizes the most important improvements of this release.
Amongst those 1800 patches, 143 patches were contributed by Bootlin. Our most significant contributions for this release have been:
- Addition of a package for the wf111 WiFi drivers. They allow to use a WiFi chip from Bluegiga, which is being used in one of our customer projects.
- Addition of the support for using uClibc-ng. uClibc-ng is a “collaborative” fork of the uClibc project, which aims at doing more regular releases and have better testing. Maintained by Waldemar Brodkorb, the project has already seen several releases since its initial 1.0 release. Waldemar is merging patches from the original uClibc regularly, and adding more fixes. It allows Buildroot and other uClibc users to have well-identified uClibc stable versions instead of a 3 years old 0.9.33.2 version with dozens of patches on top of it. uClibc-ng is not currently used as the default uClibc version as of 2015.05, but it might very well be the case in 2015.08.
- Important internal changes to the core infrastructure. Until this release, the
make legal-info
,make source
,make external-deps
andmake source-check
logic was relying only on the Buildroot configuration file. This was giving correct results for target packages which all have a corresponding Buildroot configuration option, but not for host packages (which for most of them don’t have Buildroot configuration options). Only a manual two-level dependency handling was done for the host packages for the above mentioned commands. With our work, the handling of those features has been moved to be part of the package infrastructure itself, so it’s using proper make recursivity to resolve the entire dependency tree. Due to this, the results ofmake legal-info
ormake external-deps
may be longer following this release, but it’s because it’s now actually correct and complete. You can look at the patches for more details, but these changes are very deep into the core Buildroot infrastructure. - Large number of build fixes. We contributed 52 patches fixing issues detected by the autobuild infrastructure.
- Addition of the imx-usb-loader package, which can be used to load over USB a new bootloader on i.MX6 platforms, even if the platform has no bootloader or a broken bootloader. We also use it as part of one of our customer projects.
With 142 patches, Bootlin engineer Thomas Petazzoni is the third contributor to this release by number of patches:
git shortlog -s -n 2015.02.. 397 Bernd Kuhls 393 Gustavo Zacarias 142 Thomas Petazzoni
But by far, our most important contribution by far for this release is Thomas acting as the interim maintainer: on the total of 1800 patches merged for this release, Thomas has been the committer of 1446 patches. He has therefore been very active in merging the patches contributed by the Buildroot community.
There are already some very interesting goals set for the Buildroot 2015.08 release, as you can see on the Buildroot release goals page.
Also, if you want to learn Buildroot in details, do not hesitate to look at our Buildroot training course!
It’s interesting about the inclusion of the Boundary imx-usb-loader tool. During my 3-year stint in with a S/W consulting mob, we had loads of iMX6 projects and it was absolutely indispensable.