[Buildroot] Buildroot 2018.02 released
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
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
- 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
- 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,
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.
- 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
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