Currently buildroot will create a broken system for any kernel version
not between 3.18 and 4.1, as the bnx2x firmware it includes is only
valid for that version of the upstream driver.
This change modifies the build so that all versions are included as there was a
strong preference for not adding options for each version, nor only supporting
the latest kernel:
On Fri, Feb 26, 2016 at 7:09 PM, Thomas Petazzoni wrote:
> I think adding new config to chose between different versions of a
> given firmware is going a bit too far. If we were to do that for all
> firmwares in linux-firmware, it would really increase the number of
> Config.in options too much.
>
> Shall I suggest to install both versions of the firmware? The firmware
> files are not that large, and if filesystem size is really a strong
> issue, it is always possible to clean up the non-required firmware
> files in a post-build script.
On Wed, Mar 2, 2016 at 7:47 AM, Arnout Vandecappelle wrote:
> No, this is certainly not good, it fixes 4.2+ and simultaneously breaks 4.1-.
>
> What is wrong with Thomas's proposal to remove the unneeded versions in a
> post-build script? If your size is so important that 640K matters, you would
> probably anyway want to keep only one of the six binaries instead of three
> different chip revisions.
It is up to the user to ensure they remove the versions they don't want.
Note that this increases the size of the root file system by about 8MB.
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Change log since last version bump:
2cb6695 Add missing -c for write_reliability
e094e28 Fix return value check from set_partitioning_setting_completed()
f90eac4 Add help texts for -c option
752072d Add -c option for partitioning commands
55380d9 Register being set is other than mentioned in printed message.
3c02759 Fix reported offset for enhanced user area start address
a3d3331 mmc-utils: Add Command Queue fields to Extended CSD
0ca049f mmc-utils: Add ability to configure write protect on an eMMC device
bb779ac mmc-utils: Add disable partition boot to 'mmc bootpart enable'
89cd01e mmc_utils: add ffu support
4af1749 mmc-utils: Merge the lsmmc tool into mmc-utils
44f94b9 mmc_utils: doc: add man-page
928ff07 mmc_utils: gp create: only allow partition [1-4] to be selected
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
ARCH_SUBDIR is computed based on the value of ARCH_SYSROOT_DIR and
SYSROOT_DIR. For nested toolchains ARCH_SYSROOT_DIR is a subdir of
SYSROOT_DIR, so a sed command like this one...
sed -r -e "s:^${SYSROOT_DIR}(.*)/$:\1:"
...basically removes the leading SYSROOT_DIR part from ARCH_SYSROOT_DIR.
But, for side-by-side sysroot toolchains ARCH_SYSROOT_DIR and
SYSROOT_DIR are at the same level, so the above sed command doesn't
make any effect.
This patch therefore improves the calculation of ARCH_SUBDIR to
clearly handle the three possible cases:
- There is a single sysroot, or the selected architecture sysroot is
the main one (i.e SYSROOT_DIR == ARCH_SYSROOT_DIR). In this case,
ARCH_SUBDIR is empty.
- There are side-by-side sysroots, such as
SYSROOT_DIR=.../sysroot/mips-r2-hard/ and
ARCH_SYSROOT_DIR=.../sysroot/mipsel-r2-hard/.
- The arch-sysroot is nested, such as SYSROOT_DIR=.../sysroot and
ARCH_SYSROOT_DIR=.../sysroot/armv4t/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
[Thomas: improve the logic to handle the SYSROOT_DIR==ARCH_SYSROOT_DIR
case.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Drop upstream patches.
Change download and homepage to kernel.org, and use .xz tarball.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
On some architectures (namely x86-64), glibc may provide a libmvec
library since glibc 2.22, which programs built with gcc OpenMP support
might get linked to.
In order for these programs to work on the target, we need to copy
this library to the target filesystem.
This commit takes care of this for the external toolchain
situation. Note that libraries listed in TOOLCHAIN_EXTERNAL_LIBS are
silently ignored if they don't exist. Therefore, we don't need to have
any condition on the architecture or glibc version.
For more details on libmvec, see
https://sourceware.org/glibc/wiki/libmvec.
Fixes bug #9111.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
On some architectures (namely x86-64), glibc may provide a libmvec
library since glibc 2.22, which programs built with gcc OpenMP support
might get linked to.
In order for these programs to work on the target, we need to copy
this library to the target filesystem.
This commit takes care of this for the glibc package (used for the
internal toolchain backend). Note that libraries listed in
GLIBC_LIBS_LIB are silently ignored if they don't exist. Therefore, we
don't need to have any condition on the architecture or glibc version.
For more details on libmvec, see
https://sourceware.org/glibc/wiki/libmvec.
Fixes bug #9111.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Some packages misbehave, and install files in either $(STAGING_DIR)/$(O)
or in $(TARGET_DIR)/$(O) .
One common reason for that is that pkgconf now prepends the sysroot path
to all the paths it returns. Other reasons vary, but are mostly due to
poorly writen generic-packages.
And a new step hooks to check that no file gets installed in either
location, called after the install-target and install-staging steps.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
perl may fail to build on newer host architectures such as aarch64 due
to its inability to guess the host architecture to build 'miniperl',
which is built during the process. An error message looks like this:
Configuring build-time miniperl for unknown
ERROR: No $target defined (?!)
ERROR: configure --mode=buildmini failed
This happens because the config.sub and config.guess files from perl are
not modified and may become outdated.
These files are normally updated automatically by a Buildroot hook for
autotools packages, to avoid problems like these.
Although perl uses the config.sub and config.guess files, it is not a
strict autotools package, so it is not defined as an "autotools-package"
in Buildroot and so it doesn't inherit the hook.
This commit makes perl borrow the hook from the autotools infrastructure
so that it can build on newer build architectures.
This has been tested by building it on an aarch64 host machine.
Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Acked-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Drop upstream patch.
Also remove ac_cv_linux_vers caching since this check was remove in upstream
commit f3e011b18c55ae.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We can avoid host headers using a --with-libnl parameter to override the
default host headers path. The configure script adds /include suffix to the
include path. So we still need to manually add -I with the correct path to
CFLAGS because libnl headers are under the libnl3/ directory.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package contains the Freescale manufacturing tool.
It is designed to program firmware to i.MX boards during production.
The communication is done over USB using the Freescale UTP protocol.
The project is maintained on NXPMicro Github repository:
https://github.com/NXPmicro/mfgtools
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
[Thomas:
- remove dependency on host-cmake, this is handled by the
host-cmake-package infrastructure
- add quotes around $(HOSTCXX)
- add CPOL.htm to <pkg>_LICENSE_FILES.
- tweaks to the readme.txt file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
On x86 (both i386 and x86_64), the kvm-unit-tests code uses
__builtin_reachable, which appeared in gcc 4.5. This commit adds the
relevant dependencies to kvm-unit-tests:
- on i386, we need gcc 4.5 as the target compiler
- on x86-64, we need gcc 4.5 as the host compiler, because we use the
host compiler to build kvm-unit-tests for this architecture
Fixes:
http://autobuild.buildroot.net/results/21340a7e6494e23adb2fe8dc6253ab220c380fec/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
In preparation to the addition of new dependencies in the
kvm-unit-tests package, add the BR2_HOST_GCC_AT_LEAST_4_5 symbol.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This version bump includes several fixes for x86 and a significant fix
to powerpc transactional memory tests.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
kvm-unit-tests requires a multilib compiler for x86_64 as it compiles
32bit boot code.
This patch uses the BR2_HOSTARCH_NEEDS_IA32_COMPILER option to enforce
this and avoids using TARGET_CROSS for x86_64 targets and uses the host
32bit (and 64bit) capable compiler.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
[Thomas: reword comment in .mk file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
lib/colors.c uses HAVE_LIBTINFO to decide whether term.h and ncurses.h
should be included. However, the configure.ac check is bogus: it
checks for tinfo using pkg-config, and then if it fails, checks with
AC_CHECK_LIB(). So, if you have tinfo installed, but not the
corresponding development package, the pkg-config test will fail, but
the AC_CHECK_LIB test will succeed, even though the headers are not
available.
To address this, we explicitly tell host-util-linux that tinfo is not
available, like we're already doing for ncurses.
Fixes:
http://autobuild.buildroot.net/results/3c447e601a7b728860e78cabf2191ab206e6480d/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Currently, there are two failure paths in the wrapper:
- if the tar fails, then the error is ignored because it is on the
left-hand-side of a pipe;
- if the find fails, then the error is ignored because it is a
process substitution (and there is a pipe, too).
While the former could be fixed with "set -o pipefail", the latter can
not be fixed thusly and we must use an intemediate file for it.
So, fix both issues by using intermediate files, both to generate the
list of files to include in the archive, and generate the archive in a
temporary tarball.
Fixes the following build issue, where the find is failing for whatever
unknown reason:
http://autobuild.buildroot.net/results/20f/20fd76d2256eee81837f7e9bbaefbe79d7645ae9/
And this one, where the process substitution failed, also for an unknown
reason:
http://autobuild.buildroot.org/results/018/018971ea9227b386fe25d3c264c7e80b843a9f68/
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Now that we can dump the reverse dependencies of a package, add the
ability to graph those.
It does not make sense to do a full reverse graph, as it would be
semantically equivalent to the direct graph. So we only provide a
per-package reverse graph.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Quote from erlang configure without unixodbc:
checking for odbc in standard locations... no
configure: WARNING: No odbc library found skipping odbc
configure: WARNING: "ODBC library - header check failed"
configure: WARNING: "ODBC library - link check failed"
Quote from erlang configure with unixodbc:
checking for odbc in standard locations... -L/home/buildroot/br3_couchdb/output/host/usr/i586-buildroot-linux-uclibc/sysroot/usr/lib
checking for SQLAllocHandle in -lodbc... yes
To check for unixodbc support used by erlang use readelf:
$ output/host/usr/bin/i586-buildroot-linux-uclibc-readelf -a output/target/usr/lib/erlang/lib/odbc-2.11.1/priv/bin/odbcserver | grep NEEDED
0x00000001 (NEEDED) Shared library: [libodbc.so.2]
0x00000001 (NEEDED) Shared library: [libc.so.0]
Tested using this minimal defconfig:
BR2_PACKAGE_ERLANG=y
BR2_PACKAGE_ERLANG_SMP=y
BR2_PACKAGE_UNIXODBC=y
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: Frank Hunleth <fhunleth@troodon-software.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>