[Buildroot] Buildroot 2018.02 released

Peter Korsgaard peter at korsgaard.com
Sun Mar 4 21:46:28 UTC 2018


Buildroot 2018.02 is released - Go download it at:




Or get it from Git:


Please give it a spin and report any problems to the mailing list or
bug tracker.

This cycle was somewhat smaller than other recent cycles, with "only"
1140 changes all over the tree, but still with more than 100 unique
contributors! Thanks everyone!

Of noteworthy new features/changes we have:

- The global source-check and per-package <pkg>-source-check targets
  have been removed.

- Architecture: Add x86 Silvermont variant. Add several new ARM
  variants, rework MIPS NaN logic. Support mainline binutils/gcc for ARC.

- Toolchains: Linaro toolchains upgraded to 2017.11 release, ARC
  external toolchains upgraded to arc-2017.09. Libatomic is now also
  copied for external musl based toolchains.  Add binutils 2.30.x and
  switch to binutils 2.29.x by default.

- Added hardening options to build with RELRO and FORTITY.

- New defconfigs: Bananapi M64, FriendlyARM Nanopi A64 & NEO2,
  imx6slevk, imx6sx-sdb, imx6ulevk, Olimex A64-OLinuXino, Orangepi lite
  / pc plus / pc / prime / win / win plus / zero plus2, Pine64, Solidrun
  MacchiatoBin. Sopine.

- Add utils/diffconfig, a simple utility for comparing configuration
  files - Adapted from the version in the Linux kernel.

- Infrastructure: Check that the same file is not touched by multiple
  packages, as a preparation for toplevel parallel builds.

- Hashes for the license files for a large number of packages have been
  added, ensuring that license changes will not be missed when packages
  are bumped.

- Fix build issue for autotools based packages checking for C++ support
  on toolchains without C++ support and on a distro lacking /lib/cpp
  (E.G. Arch Linux).

- Support for the meson build system.

- Pie charts generated by 'graph-build' or 'graph-size' are now sorted
  according to the size of each piece.

 - System: Only show getty options when busybox init or sysvinit are used.

 - ARM-trusted-firmware: Support ATF bundled in U-Boot as well as U-Boot
   bundled in ATF.

 - Zlib is now a virtual package, provided by either libzlib or zlib-ng,
   similar to openssl.

 - Support for the Rust programming language.

New packages: aoetools, armbian-firmware, binaries-marvell, brltty,
cargo, cargo-bin, cups-filters, curlpp, daq, flatbuffers, gconf,
glorytun, gstreamer1-mm, imx-m4fwloader, imx-gpu-g2d,
json-for-modern-cpp, libcpprestsdk, libgta, libostree, libupnp18,
luadbi, luadbi-sqlite3, lua-utf8, lynx, meson, mv-ddr-marvell,
nilfs-utils, opentracing-cpp, open-lldp, pimd, proj, python-flask-cors,
python-jaraco-classes, python-more-itertools, python-oauthlib,
python-raven, python-remi, python-requests-oauthlib, python-schedule,
python-secretstorage, python-see, python-tabledata, python-txtorcon,
python-xlib, qt5charts, rtl8189fs, rtl8723bu, rust, rustc, rust-bin,
rygel, safeclib, solatus, tcf-agent, traceroute, waylandpp, wolfssl,
zisofs-tools, zlib-ng

Removed packages: aiccu, eeprom

And the usual package version updates and bug fixes. See the CHANGES
file for details:


Upgrading from 2017.02.x:

In addition to these changes, for people upgrading from 2017.02.x the
most noteworthy changes since that release are:

- Openssl is now a virtual package, which may be provided by OpenSSL
  (now renamed to libopenssl) or LibreSSL.

- Hash files in packages can now contain hashes for the license files
  contained in the package source code. This allows to detect changes
  in such license files.

- The package license markings for legal info now uses the SPDX short
  identifiers for the license string where possible.

- The host directory no longer has a usr/ component. This makes it
  much more natural to use that directory as an externally used
  toolchain. For compatibility with existing scripts, a usr -> . link
  is still added.

- Binaries in $(TARGET_DIR) are now cleaned up from invalid RPATHs at
  the end of the build.

- Installed binaries are now checked for correct architecture to catch
  natively built binaries or binaries built for other architecture

- A new "make sdk" target prepares $(HOST_DIR) to be relocatable:
  turns RPATHs in host binaries into relocatable ones, removes bogus
  RPATHs from staging binaries/libraries, and provides a relocate-sdk
  script that can be executed to relocate the SDK after installation.

- Automatic ext2 rootfs size calculation has been removed. The logic
  was not working working reliable in all setups as it depends on the
  host filesystem behaviour, so instead now the size has to be
  specified explicitly (defaults to 60MB).
  ext2/3/4 filesystems are now generated using mkfs.ext from e2fsprogs
  instead of using genext2fs.

- A script to check for common style issues in new packages
  before submitting has been added in utils/check-package

- Tools that are directly useful to the user have been moved from
  support/scripts/ to utils/: brmake, check-package, get-developers,
  scancpan, scanpipy, size-stats-compare and test-pkg.

- Infrastructure for runtime testing has been added to support/testing.

Known issues:

- Recent Linux kernel versions may need openssl or libelf for the host
  depending on the configuration. This is currently not handled by

- uboot-tools may fail to build if an incompatible version of libfdt
  header / library is installed on the host.

We hope to be able to provide solutions for these in future 2018.02.x
point releases.


This release will be become our new long term support releases, which
means it will be supported with security and other important fixes
until 2019.02 is out. The currently 2017.02.x LTS release will see one
more update before it becomes EOL, so start migration to 2018.02 soon.

The next release will be 2018.05. Expect the first release candidate
in early May and the final release at the end of the month.

Bye, Peter Korsgaard

More information about the buildroot mailing list