Cyril Bur [Wed, 17 Aug 2016 23:02:36 +0000 (09:02 +1000)]
package/kvm-unit-tests: new package
The unit tests are tiny guest operating systems that generally execute
only tens of lines of C and assembler test code in order to obtain its
PASS/FAIL result. Unit tests provide KVM and virt hardware functional
testing by targeting the features through minimal implementations of
their use per the hardware specification. The simplicity of unit tests
make them easy to verify they are correct, easy to maintain, and easy
to use in timing measurements. Unit tests are also often used for
quick and dirty bug reproducers. The reproducers may then be kept as
regression tests. It's strongly encouraged that patches implementing
new KVM features are submitted with accompanying unit tests.
Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
[Thomas:
- order architecture dependencies in Config.in alphabetically.
- rewrap Config.in help text, lines were too long
- add an empty line between the package description and the upstream
project URL in the Config.in help text
- don't make KVM_UNIT_TESTS_ARCH default to $(ARCH). This was not
correct for i386 for example. Instead, just handle the few
architectures that the package supports.
- remove useless double quotes in variable definitions.
- remove --prefix="$(TARGET_DIR)" from CONF_OPTS. It was installing
everything in /share/ and not /usr/share/, and setting the prefix to
TARGET_DIR at configure time is not good. Instead, pass DESTDIR at
installation time.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Peter Seiderer [Mon, 2 May 2016 20:25:44 +0000 (22:25 +0200)]
raspberrypi3: fix serial console (load pi3-miniuart-bt overlay)
- enable BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS in raspberrypi3_defconfig
- add copy of rpi-firmware/overlays directory to boot partition in genimage-raspberrypi3.cfg
- enhance post-image.sh script to add 'dtoverlay=pi3-miniuart-bt' on request
- add BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay" in raspberrypi3_defconfig
Signed-off-by: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Wed, 31 Aug 2016 20:38:29 +0000 (22:38 +0200)]
python3: do not use hg when available
During the execution of its configure script, Python 3 tries to find an
available "hg" installation, and if available, will try to use it to get
information from the version control system. To do this, it tries to
communicate over the network, potentially over ports that are blocked,
causing the build to halt. This was reported by a user as part of bug
7802.
To solve this, we simply make the Python script use /bin/false as the
"hg" program.
Fixes bug #7802 for the python3 package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thomas Petazzoni [Wed, 31 Aug 2016 20:38:28 +0000 (22:38 +0200)]
python: do not use hg or svn when available
During the execution of its configure script, Python tries to find an
available "hg" and "svn" installation, and if available, will try to use
them to get information from the version control system. To do this, it
tries to communicate over the network, potentially over ports that are
blocked, causing the build to halt. This was reported by a user as part
of bug #7802.
To solve this, we simply make the Python script use /bin/false as the
"hg" and "svn" programs.
Fixes bug #7802 for the python package.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The TS-4900 uses a custom Linux 4.X from Technologic Systems:
https://github.com/embeddedarm/linux-3.10.17-imx6/tree/imx_4.1.15_1.0.0_ga
Indeed, it is not supported by mainline Linux but this work is ongoing.
This patch is inspired by a previous work for the TS-4800.
A post image script is provided to generate an image that can be
directly written to an SD card. It also adds an fpga wifi module.
Signed-off-by: Mathieu Audat <mathieu.audat@savoirfairelinux.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This package is responsible from downloading and deploying bitstream for
TS-4900's FPGA. It implements clocks, UART MUX, and GPIOs. One of these
GPIOs is used to enable the wifi module.
It is loaded by U-Boot during the boot sequence, the default U-boot
script expects to find it in the /boot folder.
Signed-off-by: Mathieu Audat <mathieu.audat@savoirfairelinux.com>
[Thomas:
- Use "config" instead of "menuconfig" since there's a single option
and no sub-options.
- Add BR2_arm dependency, since it's only used on a specific i.MX6
platform.
- Implement TS4900_FPGA_EXTRACT_CMDS that copy the file to the package
build directory $(@D)
- Change the install command to copy from $(@D) instead of from
$(DL_DIR)
- Change the install command to remove the 'mkdir -p
$(TARGET_DIR)/boot' and instead just use the -D option of the install
program that creates the destination directory if it doesn't exist.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Mon, 29 Aug 2016 15:53:59 +0000 (17:53 +0200)]
toolchain/wrapper: extend paranoid check to -isystem
Some packages, like libbsd, use -isystem flags to provide so-called
overrides to the system include files. In this particular case, this
is used in a .pc file, then used by antoher package; pkgconf does not
mangle this path; and eventually that other package ends up using
/usr/include/bsd to search for headers.
Our current toolchain wrapper is limited to looking for -I and -L, so
the paranoid check does not kick in.
Furthermore, as noticed by Arnout, there might be a bunch of other
so-unsafe options: -isysroot, -imultilib, -iquote, -idirafter, -iprefix,
-iwithprefix, -iwithprefixbefore; even -B and --sysroot are unsafe.
Extend the paranoid check to be able to check any arbitrary number of
potentially unsafe options:
- add a list of options to check for, each with their length,
- iterate over this list until we find a matching unsafe option.
Compared to previously, the list of options include -I and -L (which we
already had) extended with -idirafter, -iquote and -isystem, but leaving
all the others noticed by Arnout away, until we have a reason for
handling them.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Mon, 29 Aug 2016 15:53:58 +0000 (17:53 +0200)]
toolchain/wrapper: display options leading to a paranoid failure
Current, we only display the path that causes the paranoid failure. This
is sufficient, as we can fail only for -I and -L options, and it is thus
easy to infer from the path, which option is the culprit.
However, we're soon to add a new test for the -isystem option, and then
when a failure occurs, we would not know whether it was because of -I or
-isystem. Being able to differentiate both can be hugely useful to
track down the root cause for the unsafe path.
Add two new arguments to the check_unsafe_path() function: one with the
current-or-previous argument, one to specify whether it has the path in
it or not. Print that in the error message, instead of just the path.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Yann E. MORIN [Tue, 30 Aug 2016 09:29:37 +0000 (11:29 +0200)]
package/systemd: fix build with old toolchains
Toolchains using glibc-2.18 or older do not define O_TMPFILE, which
causes build failures on some archs.
systemd has a definition for O_TMPFILE if it is missing, but only
defines it for i386 or x86_64. Furthermore, the header defining it is
not included everywhere O_TMPFILE is used.
Fix that with three patches backported from upstream:
- include the needed header where it is needed (he!),
- define O_TMPFILE for all archs, according to linux-4.8rc3,
- no longer guard against undefined O_TMPFILE in fileio.
As described at: 4520524ba055706236db9f00dd79f1b2e2e87fde
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng013.
We still keep GDB as it is of arc-2016.03 release because there're some
issues we'd like to resolve before releasing it to wider audience.
So again note this is next engineering builds of arc-2016.09 series
and it might have all kinds of breakages, please don't use it for
production builds.
Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Petr Kulhavy [Fri, 2 Sep 2016 12:26:26 +0000 (14:26 +0200)]
boot/uboot: allow to build multiple U-Boot images
Sometimes it is desired to build multiple U-boot images. E.g. one to
save into flash memory and one for serial load. So far this was not
possible.
This change allows to select any combination of the target formats. They
are all copied to the image folder.
Signed-off-by: Petr Kulhavy <brain@jikos.cz>
[Thomas:
- Handle the BR2_TARGET_UBOOT_FORMAT_BIN, which wasn't handled, and
therefore u-boot.bin was not copied when
BR2_TARGET_UBOOT_FORMAT_BIN=y.
- Rename UBOOT_BIN to UBOOT_BINS, since it can now contain multiple
values.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
- add --disable-elput in the !BR2_PACKAGE_EFL_ELPUT case
- add missing dependency on libxkbcomm] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Allow to enable graphic acceleration using OpenGL or OpenGLES with efl
libraries.
The full OpenGL option depend on X11, because full OpenGL means GLX,
which means X11. Also select efl xlib support when full OpenGL is
selected.
Enable OpenGL ES when EGL API is enabled, otherwise the build fail with
this error:
configure: error: OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.
With the upcomming Wayland support in EFL Buildroot packaging,
OpenGL ES support is recommended.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Thomas:
- use a single ifeq/else ifeq/else ifeq/endif block
- remove the "default" for the choice, move the "none" choice at the
end, and simply rely on the first choice having its dependencies met
being automatically enable by kconfig. So OpenGL first, then
OpenGLES, and then none.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
When the .config contains invalid configuration *(e.g. two providers for
a same virtual package), it is not possible to run "make distclean"
because the .config file is sourced and packages interpreted in this
case.
Add distclean to the noconfig list, so that we can run it in all cases.
However, this meand that DL_DIR is no longer set, and thus the default
download location never removed. We fix that by always removing the
download location, so that if it is the one configured we still remove
it (no change) and if it is not the one configured, we remove an
non-existing location and leave the user's location intact (no change
either).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
core: don't build host-cmake if it is available on the build host
Currently all cmake packages depend on host-cmake. Unfortunately
host-cmake takes a long time to configure and build: almost 7 minutes
on a dual-core i5 with SSD. The time does not change even with ccache
enabled.
Indeed, building host-cmake is avoidable if it is already installed on
the build host: CMake is supposed to be quite portable, and the only
patch in Buildroot for the CMake package seems to only affect
target-cmake.
Thus we automatically skip building host-cmake and use the one on the
system if:
- cmake is available on the system and
- it is recent enough.
First, we leverage the existing infrastructure in
support/dependencies/dependencies.mk to find out whether there's a
suitable cmake executable on the system. Its path can be passed in the
BR2_CMAKE environment variable, otherwise it defaults to "cmake". If
it is enabled, found and suitable then we set BR2_CMAKE_HOST_DEPENDENCY
to empty; otherwise we set BR2_CMAKE_HOST_DEPENDENCY to 'host-cmake' and
override BR2_CMAKE with "$(HOST_DIR)/usr/bin/cmake" to revert to using
our own cmake (the old behaviour).
Then in pkg-cmake.mk we replace the hard-coded dependency on host-cmake
to using the BR2_CMAKE_HOST_DEPENDENCY variable, and we use $(BR2_CMAKE)
instead of $(HOST_DIR)/usr/bin/cmake.
Unlike what we do for host-tar and host-xzcat, for host-cmake we do
not add host-cmake to DEPENDENCIES_HOST_PREREQ. If we did, host-cmake
would be a dependency for _any_ package when it's not installed on the
host, even when no cmake package is selected.
Cmake versions older than 3.0 are affected by the bug described and
fixed in Buildroot in ef2c1970e4bf ("cmake: add patch to fix Qt mkspecs
detection"). The bug was fixed in upstream CMake in version 3.0 [0].
Amongst all the cmake packages currently in Buildroot, the currently
highest version mentioned in cmake_minimum_required() is 3.1 (grantlee
and opencv3).
Thus we use 3.1 as the lowest required cmake for now, until a package is
bumped, or a new package added, with a higher required version.
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Cc: Samuel Martin <s.martin49@gmail.com> Cc: Davide Viti <zinosat@tiscali.it> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Romain Naour <romain.naour@gmail.com> Tested-by: Romain Naour <romain.naour@gmail.com>
[yann.morin.1998@free.fr:
- simplify logic in check-host-cmake.mk;
- set and use BR2_CMAKE_HOST_DEPENDENCY, drop USE_SYSTEM_CMAKE;
- bump to cmake 3.1 for grantlee and opencv;
] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Eric Le Bihan [Tue, 13 Sep 2016 19:45:34 +0000 (21:45 +0200)]
xvisor: new package
This new package provides Xvisor, an open-source type-1 hypervisor,
which aims at providing a monolithic, light-weight, portable, and
flexible virtualization solution.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
[Thomas:
- use MKIMAGE_ARCH instead of BR2_ARCH when calling mkimage
- use $(MKIMAGE)
- license is GPLv2+.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Eric Le Bihan [Tue, 13 Sep 2016 19:45:33 +0000 (21:45 +0200)]
pkg-kconfig: support alternative .config location
Kconfig clones, such as openconf used by xvisor [1], do not look for
.config at the root of the build directory, but in a subdirectory (e.g.
build/openconf).
This patch introduces a new Makefile variable named
$(2)_KCONFIG_DOTCONFIG, which contains the path to .config relative to
the source directory of the package. It defaults to .config and can be
overridden in the package Makefile.
It also creates the full directory hierarchy where the .config file is
stored, in case it does not exist (e.g. in xvisor).
This allows the use of the kconfig-package infrastructure with packages
relying on such clones.
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas: use "install -D" instead of "mkdir + cp", as suggested by
Yann.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
infra/pkg-kconfig: Be sure to reconfigure the package on foo-reconfigure
Currently, calling foo-reconfigure for a kconfig-based package will not
re-trigger the configuration (kconfig-wise) step for the package.
This can be problematic when using an override-srcdir suring development
and the content of the veride-srcdir changes (e.g. on a rebase, a merge,
or during a bisect).
This is because the configuration (kconfig-wise) of the package is not
done in the _CONFIGURE_CMDS block, but as a separate action that is not
part of any step [0].
So, be sure to remove the stamp file .stamp_kconfig_fixup_done during
the foo-clean-for-reconfigure rule, so that the configuration is applied
again with the new source tree.
We use another rule, foo-clean-kconfig-for-reconfigure, because we do
not want to override the default foo-clean-for-reconfigure rule, and we
have no way to add conditional commands to it.
[0] The reasons it was not done are not entirely clear in my head, but
IIRC that was not working at the time we tried with Thomas DS.
Reported-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/upmpdcli: add patch to fix include path of log
The "log.{h,hxx}" header files are included from libupnpp.
As we are using the pkg-config file of libupnpp to get the header
include path, instead of the hardcoded `{prefix}/include/libupnpp`
these files are not found.
package/upmpdcli: add patch to use pkg-config for libupnpp
Building upmpdcli aborts because of an unsafe header inclusion of
`/usr/include/libupnpp`. Using `{prefix}` to get the header path is
wrong for cross-compilation.
Instead of hard-coding the flags for libupnpp use pkg-config to get the
correct ones.
Note that this patch adds the host-pkgconfig dependency unconditionally and
removes the necessity to pass the libupnpp manually to LIBS for a static
build.
package/upmpdcli: add patch to fix jsoncpp detection
Although jsoncpp is present, the build system of upmpdcli does not detect it.
The default installation path for the header files of jsoncpp is
{prefix}/json, but some systems (Debian) prefers to install the headers
in {prefix}/jsoncpp/json.
The build system only checks for the header files in
{prefix}/jsoncpp/json, so jsoncpp is not found.
This patch from upstream handles both cases now when checking for the jsoncpp
library.
blkiomon.c assumes that clock_nanosleep() is always available. But it
is only available with NPTL. Since it unconditionally uses it, we add
dependency on NPTL.
Programs are released under GPLv2+. README file says libraries
libaudit.* and libauparse.* are released under LGPL but there are two
files auparse/strsplit.c and lib/strsplit.c which are released under
GPLv2+ which makes both libraries GPL. Until we review situation with
upstream, we simply mention "unclear (libraries)".
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
[Thomas: add "unclear (libraries)" as suggested by Arnout.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This reverts commit a0aa7e0e1750f6ace2879ea8adb1425a41431b79 and reworks
the code to fix a major and potentially catastrophic bug when the
following conditions are met:
- The user has selected a "known toolchain profile", such as a Linaro
toolchain, a Sourcery CodeBench toolchain etc. People using "custom
toolchain profile" are not affected.
- The user has enabled BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y to
indicate that the toolchain is already locally available (as
opposed to having Buildroot download and extract the toolchain)
- The user has left BR2_TOOLCHAIN_EXTERNAL_PATH empty, because his
toolchain is directly available through the PATH environment
variable. When BR2_TOOLCHAIN_EXTERNAL_PATH is non-empty, Buildroot
will do something silly (remove the toolchain contents), but that
are limited to the toolchain itself.
When such conditions are met, Buildroot will run "rm -rf /*" due to
TOOLCHAIN_EXTERNAL_INSTALL_DIR being empty.
Commit a0aa7e0e1750f6ace2879ea8adb1425a41431b79 removed the assignment
of TOOLCHAIN_EXTERNAL_SOURCE and TOOLCHAIN_EXTERNAL_SITE to empty, as
part of a global cleanup to remove such assignments that supposedly
had become unneeded following a fix of the package infrastructure
(75630eba22b20d6140a5b58a6d1e35598fb3c0d3: core: do not attempt
downloads with no _VERSION set).
However, this causes TOOLCHAIN_EXTERNAL_SOURCE to be non-empty even
for BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y configuration, with the
following consequences:
- Buildroot downloads the toolchain tarball (while we're saying the
toolchain is already available). Not dramatic, but clearly buggy.
- Buildroot registers a post-extract hook that moves the toolchain
from its extract directory (output/build/toolchain-external-.../ to
its final location in host/opt/ext-toolchain/). Before doing this,
it removes everything in TOOLCHAIN_EXTERNAL_INSTALL_DIR (which
should normally be host/opt/ext-toolchain/).
Another mistake that caused the bug is commit b731dc7bfb9c8ce7be502711f0b44ccab5515f1d ("toolchain-external: make
extraction idempotent"), which introduce the dangerous call "rm -rf
$(var)/*", which can be catastrophic if by mistake $(var) is
empty. Instead, this commit should have just used rm -rf $(var) to
remove the directory instead: it would have failed without consequences
if $(var) is empty, and the directory was anyway already re-created
right after with a mkdir.
- Rework the code to ensure that similar problems will no happen in the
future, by:
- Registering the TOOLCHAIN_EXTERNAL_MOVE hook only when
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y, since moving the toolchain is
only needed when Buildroot downloaded the toolchain.
- Introduce a variable TOOLCHAIN_EXTERNAL_DOWNLOAD_INSTALL_DIR which
is the path in which Buildroot installs external toolchains when it
is in charge of downloading/extracting them. Then, the
TOOLCHAIN_EXTERNAL_MOVE hook is changed to use this variable, which
is guaranteed to be non-empty.
- Replace the removal of the directory contents $(var)/* by removing
the directory itself $(var). The directory was anyway already
re-created if needed afterwards. Thanks to doing this, if $(var)
ever becomes empty, we will do "rm -rf" which will fail and abort
the build, and not the catastrophic "rm -rf /*".
Reported-by: Mason <slash.tmp@free.fr> Cc: Mason <slash.tmp@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Bumping libupnpp to version 0.15.0 introduced a build error for some
architectures:
```
./libupnpp/workqueue.h:308:29: error: field 'res' has incomplete type
std::future<void *> res;
^
./libupnpp/workqueue.h: In member function 'bool
WorkQueue<T>::start(int, void* (*)(void*), void*)':
./libupnpp/workqueue.h:81:25: error: invalid use of incomplete type
'class std::packaged_task<void*(void*)>'
w.res = task.get_future();
```
The problem is that `std::future` is not available for all
architectures, e.g. it is missing for ARMv5 (soft-float). libstdc++
enables `std::future` only if `ATOMIC_INT_LOCK_FREE > 1`, which
according the the libstdc++ documentation means that operations on
atomic ints are guaranteed to be lock-free.
This check is not true for some target, e.g. the toolchain for the
ARMv5 target defines:
Now that we use a mainline kernel for wandboard, we no longer
need to select BR2_LINUX_KERNEL_CUSTOM_GIT, so remove it.
This fixes the following warning:
make wandboard_defconfig
/configs/wandboard_defconfig:19:warning: override: BR2_LINUX_KERNEL_CUSTOM_VERSION changes choice state
#
# configuration written to /home/fabio/buildroot/.config
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
MPM can be selected between event, prefork or worker
Set worker as the default one as it was before even if event MPM is
better on system supporting thread safe polling
With kernel 4.8-rc5 we no longer need to use the "CONFIG_SMP=n" workaround
as the reboot issue has been fixed upstream by commit 059e232089e4
("irqchip/gic: Allow self-SGIs for SMP on UP configurations")
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux-headers: allow specifying 4.8 as kernel header version
Even though 4.8 is not released yet, some people may want to build a
system using the 4.8-rc kernel, and point to the kernel sources as the
kernel headers to use for the toolchain.
In order to make this possible, this commit adds support for specifying
4.8 as the kernel headers version, in both the internal and external
toolchain logic.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
[Thomas: remove support for 4.8 headers selection, and rework commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/php-ssh2: fix kconfig circular deps after libssh2 fix
After we simplified the libssh2 dependencies, the new dependencies were
not propagated to the php-ssh2 package, causing circular dependencies:
package/openssl/Config.in:1:error: recursive dependency detected!
package/openssl/Config.in:1: symbol BR2_PACKAGE_OPENSSL is selected by BR2_PACKAGE_LIBSSH2
package/libssh2/Config.in:1: symbol BR2_PACKAGE_LIBSSH2 is selected by BR2_PACKAGE_PHP_SSH2
package/php-ssh2/Config.in:1: symbol BR2_PACKAGE_PHP_SSH2 depends on BR2_PACKAGE_OPENSSL
Just drop the now-useless dependency inherited from libssh2: libssh2 now
has no dependency.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
board/minnowboard-max: Add kernel options to support USB disks
As reported by bug #9176 the current v4.6 kernel config
(used by Minnowboard MAX and Turbot) does not support
USB disks. Since this is a pretty essential functionality,
it's desirable to have it, so let's add the required options.
Kernel config linux-v3.8.config (currently used by the first
generation Minnowboard) doesn't need this change.
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
U-Boot, with the default environment, is looking for a zImage.
Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
U-Boot, with the default environment, is looking for a zImage.
Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Generate an sdcard image based on the common Freescale genimage
template.
Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The boards imx6dlsabreauto, imx6dlsabresd, imx6qsabreauto, imx6qsabresd,
imx6sxsabresd were referring to board/freescale/create-boot-sd.sh for
the sdcard image generation.
This commit:
* Removes board/freescale/create-boot-sd.sh
* Uses the common Freescale genimage template instead.
The offset of the first partition was 1MB in the script and is
modified to 8MB in the template.
* Fixes the readme.txt file accordingly
Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
For the boards imx6ulevk, imx6sabresd, mx25pdk, mx51evk, mx53loco,
warpboard:
* Replace genimage.cfg with a common Freescale genimage template named
genimage.cfg.template because they all use the same layout. The only
difference comes from the device tree blobs.
* Replace each post-image.sh script with a generic post-image.sh script
which is able to generate the right genimage.cfg depending on:
** the image type (zImage or uImage) from BR2_LINUX_KERNEL_UIMAGE
** the device tree blobs from BR2_LINUX_KERNEL_INTREE_DTS_NAME
** the rootfs type (ext2, ext3 or ext4) from BR2_TARGET_ROOTFS_EXT2
* Fix the readme.txt files accordingly
Signed-off-by: Georges Savoundararadj <savoundg@gmail.com> Cc: Fabio Estevam <festevam@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
[Thomas: remove handling of rootfs type, using rootfs.ext2 in all cases
is fine, rootfs.ext3 and rootfs.ext4 are just symbolic links to it.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The latest version of binutils, 2.27, added in commit b700157db40410907d6a07582eacbb5030fd919e, fails to build on systems
that don't have makeinfo installed. This commit therefore applies the
same fixup as the one used for binutils 2.26, which consists in
touching all the .info files, so that they don't get rebuilt.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since 2f89476 (package/libgpg-error: bump to version 1.23), libssh2 has
inherited the dependency from libgcrypt (propagated from libgpg-error).
However, since libssh2 can use either openssl or libgcrypt as a backend,
the dependency should be relaxed when openssl is available.
But the test is broken and inverted: it will make libssh unavailable as
soon as openssl is enabled.
Fix this dependenc byt doing what other similar packages do: select
openssl if the other crypto backend (here libgcrypt) is not enabled.
This also allows us to drop the propagated dependency on the arch
condition.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Jörg Krause <joerg.krause@embedded.rocks> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since 2f89476 (package/libgpg-error: bump to version 1.23), libssh has
inherited the dependency from libgcrypt (propagated from libgpg-error).
However, since libssh can use either openssl or libgcrypt as a backend,
the dependency should be relaxed when openssl is available.
But the test is broken and inverted: it will make libssh unavailable as
soon as openssl is enabled.
This in itself is already incorrect, but that can cause further issues,
as some packages (e.g. Kodi) will select (indirectly) openssl, and has
an option to select libssh; enabling that option causes unmet direct
dependencies of libssh:
warning: (BR2_PACKAGE_KODI_LIBSSH) selects BR2_PACKAGE_LIBSSH which
has unmet direct dependencies (BR2_USE_MMU && !BR2_STATIC_LIBS &&
BR2_TOOLCHAIN_HAS_THREADS && BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS
&& !BR2_PACKAGE_OPENSSL)
Fix this dependency by doing what other similar packages do: select
openssl if the other crypto backend (here libgcrypt) is not enabled.
This also allows us to drop the propagated dependency on the arch
condition.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Cc: Jörg Krause <joerg.krause@embedded.rocks> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Cc: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>