Commit Graph

483 Commits

Author SHA1 Message Date
Fabio Estevam
969560c9f1 linux: bump default to version 4.7
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-25 22:14:06 +02:00
Fabio Estevam
50a4fbda1c linux: Bump default to version 4.6.4
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-07-11 21:55:17 +02:00
Vicente Olivert Riera
82cd426aba linux: bump default to version 4.6.3
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-27 10:22:26 +02:00
Thomas Petazzoni
53ced1f6d3 linux: allow the selection of the architecture's default configuration
To configure the Linux kernel, we currently provide two options:

 1. Passing a defconfig name (for example "multi_v7"), to which we append
    "_defconfig" to run "make multi_v7_defconfig".

 2. Passing a path to a custom configuration file.

Unfortunately, those two possibilities do not allow to configure the
kernel when you want to use the default configuration built into the
kernel for a given architecture. For example, on ARM64, there is a
single defconfig simply called "defconfig", which you can load by
running "make defconfig".

Using the mechanism (1) above doesn't work because we append
"_defconfig" automatically.

One solution would be to change (1) and require the user to enter the
full defconfig named (i.e "multi_v7_defconfig" instead of "multi_v7"),
but we would break all existing Buildroot configurations.

So instead, we add a third option, which simply tells Buildroot to use
the default configuration for the selected architecture. In this case,
Buildroot will configure the kernel by running "make defconfig".

Cc: Naresh Kamboju <naresh.kamboju@linaro.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-18 15:05:15 +02:00
Ofer Heifetz
11dd7406c8 linux: align endianess based on the Buildroot configuration
The endianess of the Linux kernel should be based on BR2_ENDIAN, so that
it is automatically built for the right endianness.

Signed-off-by: Ofer Heifetz <oferh@marvell.com>
[Thomas: tweak commit message, add comment in .mk file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-11 16:19:30 +02:00
Gustavo Zacarias
0cbc5401d4 linux: bump default to version 4.6.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-08 14:05:05 +02:00
Yann E. MORIN
39bc106bf5 linux: use the generic help rules
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>
[Thomas: don't use the helper.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-07 22:10:20 +02:00
Fabio Estevam
baeb0a3053 linux: Bump default to version 4.6.1
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-01 23:33:35 +02:00
Thomas De Schampheleire
690ed04845 linux: provide symlink dtc->linux-dtc is there is no dtc yet
Commit ab74e09eb4 renamed the dtc host tool
provided by linux to linux-dtc to avoid clashes with the dtc host tool
provided by host-dtc.

However, external scripting may well rely on the existence of a device tree
compiler as $(HOST_DIR)/usr/bin/dtc, regardless of its source. Changing
these external scripts to use linux-dtc means that the scripts need to be
aware of the buildroot release they are working with, which is not very
nice.

Add a symlink dtc->linux-dtc when no $(HOST_DIR)/usr/bin/dtc is present.
When host-dtc is not enabled, the end result will be dtc and
linux-dtc representing the same thing.
When host-dtc is enabled, either it is build before linux and no symlink
is created at any time, or it is build after linux, and the 'install'
command in host-dtc will overwrite the symlink with a proper dtc. In both
cases, the end result will be dtc and linux-dtc representing a different
thing.

Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-31 22:40:34 +02:00
Gustavo Zacarias
8a917b12aa linux: bump default to version 4.6
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-16 21:19:29 +02:00
Gustavo Zacarias
26e896195f linux: bump defaut to version 4.5.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-05-05 22:19:13 +02:00
Sebastian Frias
b1f0212af6 linux: properly install all images in the initramfs case
The target "$(LINUX_DIR)/.stamp_initramfs_rebuilt" uses its own
'cp' command, instead of LINUX_INSTALL_IMAGE/LINUX_INSTALL_IMAGES_CMDS
provided by (or updated with) commit 055e6162bb ("linux: don't build
appended DTB image in place and support multiple images") and thus is
not operating properly when APPENDED_DTB is used.

Indeed, it copies a single image, and does not copy the one with the DTB
appended.

This patch replaces the 'cp' command with LINUX_INSTALL_IMAGE which
handles APPENDED_DTB.

Fixes: 055e6162bb ("linux: don't build appended DTB image in place and
support multiple images")

Signed-off-by: Sebastian Frias <sf84@laposte.net>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-25 21:40:47 +02:00
Vivien Didelot
42f22d687d linux: explicit latest kernel version
When setting BR2_LINUX_KERNEL_LATEST_VERSION, it is hard for the user to
know that this version is subject to change in the future.

Explicit this in the Kconfig entry text.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-20 17:35:18 +02:00
Gustavo Zacarias
083d516f3d linux: bump default to version 4.5.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-20 13:39:38 +02:00
Gustavo Zacarias
f4e70978c3 linux: bump default to version 4.5.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-12 23:20:47 +02:00
Pauli Sundberg
986fa441e4 linux: Add custom Subversion repository support for the package
Signed-off-by: Pauli Sundberg <susundberg@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-05 22:28:09 +02:00
Thomas Petazzoni
5c67cb1d04 linux: use zImage by default on ARM
Since quite some time, the kernel and bootloader communities consider
zImage as the default format for kernel images on ARM, replacing
uImage. The load address information in uImage is no longer needed,
since the kernel is position-independent in terms of physical address,
except on a few old platforms. For most people, using zImage is simply
better/simpler, so let's switch to zImage as the default image format
on ARM.

All defconfigs are updated: 46 defconfigs no longer need to select
explicitly zImage because it's the default, and 16 defconfigs now need
to explicitly select uImage because that's no longer the default.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Matt Weber <matt@thewebers.ws>
Acked-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-04-05 22:23:54 +02:00
Cyril Bur
8143721c3e linux: build and install kernel selftests
This patch adds the ability to compile and install the kernel
selftests into the target at /usr/lib/kselftests. The rationale behind
/usr/lib is that the selftests have subdirectories where they are
installed which makes them unsuitable to be placed in /usr/sbin as
this would result in /usr/sbin/kselftests/x/y/z. While the selftests
aren't libraries either, they don't achieve much as a standalone
binary so they can be considered to be a 'library of tests' making
/usr/lib sensible.

The selftests require that the kernel headers be installed into the
kernel build tree as some of the selftests have a hardcoded CFLAGS to
include kernel headers (CFLAGS += -I../../../../usr/include/). This is
most easily achieved by using the make ... headers_install inside the
kernel build dir.

This is likely to be a rarely used debugging/performance feature for
development and unlikely to be used in a production configuration.

Signed-off-by: Cyril Bur <cyrilbur@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[Thomas:
 - remove bash as a build dependency, it is only a runtime dependency.
 - fix typo in the Config.in help text, and rewrap
 - add missing 'depends on BR2_USE_MMU' dependency for the comment.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-20 22:04:47 +01:00
Yann E. MORIN
9666835944 linux/perf: conditionally enable support for gz/xz compression
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-19 14:38:14 +01:00
Yann E. MORIN
2b1d5df1f2 linux/perf: forcefully disable the features with missing dependencies
Forcefully disable the features that have optional dependencies that are
not enabled in Buildroot.

Disable support for bionic since, well, we're not Android.

Slightly re-order the variables to have semantically-related variables
together, with features last.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-19 14:38:06 +01:00
Yann E. MORIN
d4a2020424 linux/perf: honour the number of parallel jobs
perf does not honour the -j flags we pass to make; it yet again tries to
reinvent the wheel and by default uses the number of CPUs as the number
of parallel jobs.

Fortunately, in their infinite wisdom, the insane developpers of the
perf buildsystem were kind enough to provide us with a variable we can
set to specify the number of parallel jobs.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-19 14:37:32 +01:00
Yann E. MORIN
c306e0493a linux/perf: really do not build the documentation
The perf buildsystem, inside the kernel, is not really amenable to be
easily used...

Regarding the documentation, it will forcefully try to detect asciidoc
and, with the latest versions, xmlto, completely disregarding what the
user may provide.

We currently pass ASCIIDOC= (the empty string) on the make command line,
as an attempt to disable building the documentation, but that has no
effect whatsoever on perf: that variable is not passed down to the
sub-sub-make (yes, a two-level depth) that is responsible for building
the documentation.

We really do not want to build any of the documentation (the user can
refer to the documentation on his own development machine), so we use a
little dirty trick: we provide a GNUmakefile beside the existing
Makefile for the documentation; GNUmakefile always takes precedence over
a Makefile when both are present. We only provide a catch-all-no-recipe
rule in that GNUmakefile, so it really does nothing useful, except avoid
building the documentation.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-19 14:37:17 +01:00
Gustavo Zacarias
85046ae5d2 linux: bump default to version 4.5
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-14 13:12:46 +01:00
Gustavo Zacarias
677f436b95 linux: bump default to version 4.4.5
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-10 15:05:36 +01:00
Gustavo Zacarias
e3c3b8d1f0 linux: bump default to version 4.4.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-04 17:08:28 +01:00
Vicente Olivert Riera
7f3a52f981 perf: append endianness argument to ld when building for MIPS
We need to pass an argument to ld for setting the endianness when
building it for MIPS architecture, otherwise the default one will always
be used (which is big endian) and the compilation for little endian will
always fail showing an error like this one:

LD    foo.o
mips-linux-gnu-ld: foo.o: compiled for a little endian system and target
is big endian

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-27 18:59:34 +01:00
Gustavo Zacarias
7c87cac47a linux: bump default to version 4.4.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-26 19:47:28 +01:00
Gustavo Zacarias
c1b47a9cbe linux: bump default to version 4.4.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-18 15:06:15 +01:00
Gustavo Zacarias
d6a5d71aba linux: add conditional patch for timeconst.pl
Kernels older than 3.9 (not counting stable releases) used the
timeconst.pl perl script for their build process.
The problem with this script is that it used deprecated perl features,
namely defined(@array) which was removed for the perl 5.22 release,
causing build failure of older kernels on newer distributions.

To fix this instead of going the hard way (moving to the new
timeconst.bc script) use the easy way by patching timeconst.pl with an
upstream patch used for stable releases.

First try a dry-run on the patch to see if it applies, if it does then
call a proper APPLY_PATCHES to it.

Tested against an arbitrary 2.6.30 kernel (applies and builds), against
4.4.1 for a missing timeconst.pl (does not apply since it's missing) and
3.8.13 (does not apply since it's fixed already).

Known broken distributions: fedora 23, debian testing (stretch) and unstable
(sid).

Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-10 08:12:57 +01:00
Yann E. MORIN
e3e0583f90 linux: drop the option to use the same version as that of the headers
It is no longer meaningful, now that we have the option to use the
kernel version for the linux headers, as it is more logical and more
versatile.

Add it to legacy.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-06 10:58:24 +01:00
Gary Bisson
da4fff547c kernel-module-imx-gpu-viv: add new package
This is the Vivante kernel driver split from the kernel source code in
order to make it possible to be used in any kernel source since 3.10.53.

The driver source code provided by Freescale needs fixes so the
community forked the code to allow faster development and easier
integration of fixes from the community.

This patch is based on the Yocto equivalent:
https://github.com/Freescale/meta-fsl-arm/commit/32cf391
https://github.com/Freescale/meta-fsl-arm/commit/4249193

This package has been tested with the following commands:
 # modprobe galcore
 # cd /usr/share/examples/viv_samples/vdk/
 # ./tutorial7

Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-02 10:20:46 +01:00
Yann E. MORIN
63abfb7210 package/linux-headers: add option to use same sources as the kernel
Some heavily (and most often improperly) modified Linux kernels may export
new APIs to userland, so as to speak to custom hardware or custom kernel
facilities.

However, we currently have no easy way to use such kernels as a source
for the linux-headers package, which precludes having those userland
headers intalled for userland applications to use them.

We do have a way for the kernel to use the same version as for the
headers, but that is definitely not enough, as the linux-headers package
has a version choice that is far less versatile and capable than that of
the linux package.

Add a new option for the linux-headers package, for the user to specify
that the version (really, the sources) of the kernel be used to install
the headers from.

We do that by making linux-headers patch-depend on the linux package.

We can't have linux-header simply depend on linux, because the simple
dependency means the the dependee will be configured, built and installed
before the dependent is configured. And since linux is a target package,
it depends on the toolchain, which internally dependes on linux-headers,
which would depend on linux, and we'd get a circular dependency.

Using patch-depend will ensure that linux is extracted and patched
before linux-headers is extracted, which is really all we need.

Then, we install the headers from the linux source tree, rather than
from linux-headers' source tree (as there's nothing in there!).

Since we need to install a private set for uClibc (see cde947f, uclibc:
prevent rebuilding after installation to staging), we explicitly set
INSTALL_HDR_PATH when calling the kernel' install-headers rule in
LINUX_HEADERS_CONFIGURE_CMDS, so that the headers are installed in
linux-headers' $(@D) instead of linux' $(@D).

Finally, as there is no way to know the kernel version in this case, we
must still prompt the user for the kernel series the headers are from
(like we do for a custom version) and check for consistency at build
time.

Note however that this still leaves users that want to built their
such-kernel outside of Buildroot out in the cold.

[Peter: drop comment as suggested by Thomas]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Karoly Kasza <kaszak@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-02 09:55:58 +01:00
Gustavo Zacarias
63d2545475 linux: bump default to version 4.4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-01 19:50:19 +01:00
Hollis Blanchard
5bbbc5b744 linux: handle read-only dts files
Some fine version control systems make all files read-only. The custom DTS file
may therefore be read-only, and that permission is preserved when copying into
the Linux build directory. A subsequent rebuild tries to 'cp' again, which
fails with a "Permission denied" error unless the -f option is used.

Signed-off-by: Hollis Blanchard <hollis_blanchard@mentor.com>
Acked-by: Nikolay Dimitrov <picmaster@mail.bg>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-01-19 21:46:58 +01:00
Thomas De Schampheleire
77e7cdb5de perf: remove tests from target
The perf tool installed test files in
    output/target/usr/libexec/perf-core/tests/
which amounted to about 30+K.

Since they are not needed for normal perf operation, remove them.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-01-16 14:04:57 +01:00
Gustavo Zacarias
ff147916a1 linux: bump default to version 4.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-11 17:33:39 +01:00
Yann E. MORIN
5471bac748 linux: add blind kconfig option to require kernel modules
Currently, packages that need the kernel to have support for laodable
modules have two ways to require it:

  - either the use the kernel-module infra, which does it automatically,

  - or they do not use it, and they need to require it manually by
    setting the corresponding Makefile variable; however, they must only
    set it when they are actually enabled, which makes for a slightly
    cumbersome and ugly code, like:

        ifeq ($(BR2_PACKAGE_FOO),y)
        LINUX_NEEDS_MODULES = y
        endif

Introduce a new blind Kconfig option that packages can select to signify
they need kernel modules. That Kconfig option is then used to set the
Makefile variable.

It makes it cleaner:

  - code is simpler (one Kconfig line instead of a Makefile if-block,

  - this is handled at the Kconfig level, which is where we usually
    handle such dependencies.

Packages will be updated in follow-up commits.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-12-29 23:50:11 +01:00
Yann E. MORIN
d831f24964 Fix fallout after generated defconfig support
Fix improper use of qstrip; use correct variables.

Fixes #8546.

Reported-by: craigswank@gmail.com
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>
2015-12-23 09:54:14 +01:00
Sam bobroff
4cb15b2881 package/linux: handle generated defconfigs
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
[yann.morin.1998@free.fr: move the kconfig-package hunk to the
 corresponding patch]
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>
2015-12-22 22:39:36 +01:00
Thomas Petazzoni
055e6162bb linux: don't build appended DTB image in place and support multiple images
Currently, the linux.mk logic for appended DTB image does the
appending of the DTB in place, directly at the end of the zImage using
a >> sign. This is incorrect because if you run "make linux-rebuild"
multiple times, you get the DTB appended over and over again to the
image.

Since keeping the 'zImage' or 'uImage' name for the appended DTB image
is not very clear, this commit moves to using the 'zImage.<dtb>' and
'uImage.<dtb>' format. This way, we can clearly distinguish the
original image from the appended one.

In addition, this naming scheme easily allows to generate *multiple*
appended DTB images: from one zImage, you can generate multiple
zImage.<dtb> for several DTBs, and then generate (if requested) the
corresponding uImage.<dtb>.

To achieve this, this commit:

 - Changes the definition of LINUX_APPENDED_DTB to iterate over
   $(KERNEL_DTS_NAME), and generate a zImage.<dtb> image for each of
   them.

 - Changes the addition of LINUX_APPENDED_DTB for appended uImage to
   also iterate over $(KERNEL_DTS_NAME).

 - Provide a different implementation of LINUX_INSTALL_IMAGE which
   installs all the appended DTB images (but not the bare image)

 - Remove the checks that verified that only one DT name is passed
   when appended DTB is used, since we now support generating multiple
   DT images.

Some of the tested configuration:

 - Normal uImage with several DTBs

   BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
   BR2_LINUX_KERNEL_UIMAGE=y
   BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x200000"
   BR2_LINUX_KERNEL_DTS_SUPPORT=y
   BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-xp-matrix armada-xp-gp armada-370-mirabox"

   Contents of output/images/:

   armada-370-mirabox.dtb  armada-xp-gp.dtb  armada-xp-matrix.dtb  uImage

 - Normal zImage with several DTBs

   BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
   BR2_LINUX_KERNEL_ZIMAGE=y
   BR2_LINUX_KERNEL_DTS_SUPPORT=y
   BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-xp-matrix armada-xp-gp armada-370-mirabox"

   Contents of output/images:

   armada-370-mirabox.dtb  armada-xp-gp.dtb  armada-xp-matrix.dtb  zImage

 - Appended uImage with several DTBs:

   BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
   BR2_LINUX_KERNEL_APPENDED_UIMAGE=y
   BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x200000"
   BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-xp-matrix armada-xp-gp armada-370-mirabox"

   Contents of output/images:

   uImage.armada-370-mirabox  uImage.armada-xp-gp  uImage.armada-xp-matrix

 - Appended zImage with several DTBs:

   BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
   BR2_LINUX_KERNEL_APPENDED_ZIMAGE=y
   BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-xp-matrix armada-xp-gp armada-370-mirabox"

   Contents of output/images:

   zImage.armada-370-mirabox  zImage.armada-xp-gp  zImage.armada-xp-matrix

In all configurations, the contents of output/target/boot/ was the
same if BR2_LINUX_KERNEL_INSTALL_TARGET=y.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-20 15:23:27 +01:00
Thomas Petazzoni
24745cb4be linux: only install the DTBs when not in appended DTB mode
When you're using the "appended DTB" mode, the Device Tree blob gets
appended to your kernel image, so there is no point in installing both
the DTB and the kernel image to the images or target directories,
installing the kernel image itself is sufficient.

Therefore, this commit disables the definition of LINUX_INSTALL_DTB
when appended DTB is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-20 15:23:07 +01:00
Thomas Petazzoni
55b80d3bb9 linux: de-duplicate DTB and Linux image installation
Currently, the LINUX_INSTALL_DTB and LINUX_INSTALL_DTB_TARGET macros
are exactly the same, except for the target directory.

Similarly, LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET and
LINUX_INSTALL_IMAGES_CMDS are copying the kernel image, just to a
different place (and with a different strategy).

As a preparation for future additions, this commit de-duplicate this
code:

 - LINUX_INSTALL_DTB becomes a make macro that takes one argument: the
   destination directory.

 - LINUX_INSTALL_IMAGE is a new make macro that also takes on
   argument: the destination directory.

Both macros are used by LINUX_INSTALL_KERNEL_IMAGE_TO_TARGET and
LINUX_INSTALL_IMAGES_CMDS to respectively install to the target
directory and the images directory.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-20 15:23:01 +01:00
Yegor Yefremov
e9d2d02402 linux: add support for vmlinuz.bin kernel image format
Linux for MIPS supports raw binary zboot image (vmlinuz.bin).
Add it to the "Kernel binary format" list.

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-15 21:42:06 +01:00
Gustavo Zacarias
053b3f978b linux: bump default version to 4.3.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-15 21:40:58 +01:00
Johan Sagaert
3ea133c971 linux: Add kernel compression selection.
This selection will ensure that the correct host tools
will be build used for the kernel compression method used.

[Maxime: Select the compression opts in the kernel config too ]

Signed-off-by: Sagaert Johan <sagaert.johan@proximus.be>
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-13 16:22:40 +01:00
Vicente Olivert Riera
886ab48c4f linux: bump default version to 4.3.2
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-11 21:26:39 +01:00
Gustavo Zacarias
e331c745d7 linux: bump default version to 4.3.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-09 23:09:15 +01:00
Vicente Olivert Riera
bb0454bf7d linux: bump default version to 4.3
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: "James Knight" <james.knight@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-11-02 20:56:43 +01:00
Jeremy Kerr
dc3935ea1d linux: Add zImage.epapr target
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-31 19:01:21 +01:00
Gustavo Zacarias
6fdbafd4af linux: bump default version to 4.2.5
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-27 12:33:04 +01:00
Gustavo Zacarias
b4660601cd linux: bump default version to 4.2.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-23 09:27:04 +02:00
Arnout Vandecappelle
55a6b6d0d1 linux: add 'Image' as the image name for aarch64
On aarch64, the image name is always Image, so let's add support for
that.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-05 16:01:32 +02:00
Peter Korsgaard
ab74e09eb4 linux: install dtc binary as linux-dtc
So it doesn't conflict with host-dtc. The Linux kernel version may be a
patched version supporting E.G. overlays.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-04 20:17:35 +02:00
Arnout Vandecappelle
546a69db66 linux: remove now-redundant ccache handling
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-04 18:22:20 +02:00
Vicente Olivert Riera
e1c42b19c4 linux: bump default version to 4.2.3
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-03 23:21:29 +02:00
Gustavo Zacarias
5f6cb63454 linux: bump default to version 4.2.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-30 12:36:23 +02:00
Peter Seiderer
0b4ac9b985 linux-ext: add fbtft hint for linux kernel >= v4.0
Since v4.0 the fbtft drivers are included in the linux kernel
staging area.

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-27 23:19:37 +02:00
Gustavo Zacarias
01d362d2e0 linux: bump default to version 4.2.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-22 15:42:47 +02:00
Yann E. MORIN
b7c32c98bc core/pkg-kernel-module: ensure linux supports modules
When a package wants to build a kernel module, we should ensure that the
kernel does support modules.

This patch does it automatically for packages using the kernel-module
infrastructure.

Packages that do not use it will have to set it manually (to be done in
a followup patch).

Suggested-by: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Noé Rubinstein <noe.rubinstein@gmail.com>
Cc: Jan Viktorin <viktorin@rehivetech.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-04 13:13:52 +02:00
Peter Korsgaard
eeef055db4 linux: bump default to version 4.2
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-01 10:17:42 +02:00
Peter Korsgaard
cfc70a4802 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-01 09:59:08 +02:00
Yann E. MORIN
d824792b75 linux: enable all options needed by xtables-addons
Both of CONFIG_NF_CONNTRACK and CONFIG_NF_CONNTRACK_MARK are needed by
xtables-addons.

Although the current code does enable them in the linux' .config file,
the former is protected behind CONFIG_NETFILTER_ADVANCED, which may be
missing from a user-supplied (def)config file, and is missing from some
of the bundled defconfigs as well.

For example, the following defconfig fails to build:

    BR2_TOOLCHAIN_EXTERNAL=y
    BR2_LINUX_KERNEL=y
    BR2_LINUX_KERNEL_DEFCONFIG="i386"
    BR2_PACKAGE_XTABLES_ADDONS=y

So, also force-enable CONFIG_NETFILTER_ADVANCED.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-23 21:01:51 +02:00
Benoît Thébaudeau
0f2d8eae2e linux: bump default to version 4.1.5
Signed-off-by: Benoît Thébaudeau <benoit@wsystem.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-18 14:25:55 +02:00
Gustavo Zacarias
c4893bdd85 linux: bump default to version 4.1.4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-04 11:26:41 +02:00
Yann E. MORIN
c95dc64c29 package/linux: trash stderr in LINUX_VERSION_PROBED
The Linux buildsystem tries to run the compiler even just for
'kernelrelease' (which we store in LINUX_VERSION_PROBED) and we
sometimes need to use it before the toolchain is available; thus
we get spurious errors on stderr.

Consign stderr to oblivion when computing the 'kernelrelease'.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-22 17:25:25 +02:00
Gustavo Zacarias
76a964be71 linux: bump default to version 4.1.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-22 17:24:31 +02:00
Arnout Vandecappelle
28f57bb863 linux: use backtick instead of $(shell ...) make function
Verified that LINUX_VERSION_PROBED is only used in "-quoted commands
(actually, usually it's not quoted).

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-15 00:42:01 +02:00
Romain Naour
1326e76185 package/perf: migrate perf to use the new linux-tools infrastructure
Remove the perf package and add legacy handling.

[Thomas:
  - improve the Config.in.legacy help text
  - improve the comment explaining why we pass O= when building perf]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14 23:28:06 +02:00
Romain Naour
f1863ede94 linux-tools: add cpupower
This patch is based on the patch send by James Knight:
http://lists.busybox.net/pipermail/buildroot/2015-May/128754.html

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: James Knight <james.knight@rockwellcollins.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14 23:22:58 +02:00
Romain Naour
f3a23945a2 linux: add linux-tools infra
This commit add an infrastructure to build linux kernel
tools available in the kernel sources.

Currently, the only linux kernel tool packaged in Buildroot
is perf and it's packaged as a separate generic package.
This is a problem for licence information raised in this
thread [1].

Since these tools require to build a Linux kernel, we can
use some hooks in linux package like we did for linux
extensions [2] and remove the perf package.

[1] http://lists.busybox.net/pipermail/buildroot/2015-May/128783.html
[2] http://lists.busybox.net/pipermail/buildroot/2015-March/121835.html

[Thomas: fix minor typos in comments.]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14 23:21:51 +02:00
Yann E. MORIN
a4b0884469 package/linux: check for config file before calling kconfig-package
If we check that the user provides a config file after we call to the
kconfig-package infra, the error message we get is the one for the
kconfig-package infra, not the custom error message we want to show to
the user.

So, only call kconfig-package after we do the check. Move the check with
the existing checks for the DTS, for consistency.

[Thomas: put the checks together, but right before the kconfig-package
call, rather than in the middle of the code, were the DTS related
tests were located.]

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14 10:27:52 +02:00
Yann E. MORIN
ce2b7face0 package/linux: don't enforce check for DTS when not building
Currently, this is triggering the error message:
    make randconfig
    make source

Limit the checks that enforce a DTS is set and at most one DTB is
appended to when we are actually building, like is done for the
configuration-file variables.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14 10:26:31 +02:00
Thomas Petazzoni
90d008ea7a linux: adjust fixup logic for ktap
The ktap package requires some parts of the kernel tracing
infrastructure to be enabled, especially
CONFIG_EVENT_TRACING. However, this option is a blind option in the
kernel, so enabling it in linux.mk has no effect: we need to enable a
non-blind option that selects CONFIG_EVENT_TRACING. We've chosen to
select CONFIG_ENABLE_DEFAULT_TRACERS.

This fixes the build of ktap.

[Thomas: use CONFIG_ENABLE_DEFAULT_TRACERS as suggested by Arnout.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2015-07-13 18:26:58 +02:00
Gustavo Zacarias
e97938286f linux: bump default to version 4.1.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-10 20:25:15 +02:00
Gustavo Zacarias
a058996cb4 linux: bump default to version 4.1.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-30 14:26:58 +02:00
Gustavo Zacarias
fd02a64897 linux: bump default to version 4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-22 18:19:58 +02:00
Gustavo Zacarias
952ccff357 linux: bump default to version 4.0.5
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-09 22:54:09 +02:00
Peter Korsgaard
cddaae8229 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-01 23:52:57 +02:00
Floris Bos
87bd1e3724 linux: add option to specify config fragments
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Gergely Imreh <imrehg@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-21 23:42:48 +02:00
Peter Korsgaard
7a149cc623 linux: bump default to version 4.0.4
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-19 22:05:31 +02:00
Peter Korsgaard
9b429dcae6 linux: bump default to version 4.0.3
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-13 21:37:30 +02:00
Yann E. MORIN
715ebe3b4d linux: do not check hashes for custom versions and tarballs
This one is a bit tricky, as the version can come from the linux-headers
package, so we must also account for that.

We currently have no hash file for linux, but better do the change now,
which allows us to later add a hash file.

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>
Reviewed-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-02 15:11:01 +02:00
Gustavo Zacarias
7f291662b2 linux: bump default to version 4.0.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-04-29 23:01:31 +02:00
Thomas Petazzoni
fa6289bb1a packages: refactor checks using BR_BUILDING
Instead of manually testing MAKECMDGOALS, use the newly introduced
BR_BUILDING variable to know if we're building or not.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-04-26 21:43:25 +02:00
Thomas Petazzoni
e7035d4eb9 rtai: remove option BR2_LINUX_KERNEL_EXT_RTAI_PATCH
This commit removes BR2_LINUX_KERNEL_EXT_RTAI_PATCH because this
option never worked. It was added in commit
8797a9cd1f, which added package/rtai/
and RTAI as a Linux extension.

The option prompt says "Path for RTAI patch file", so let's say you
specify /home/foo/bar/myrtai.patch as the value for
BR2_LINUX_KERNEL_EXT_RTAI_PATCH.

Then the code does:

RTAI_PATCH = $(call qstrip,$(BR2_LINUX_KERNEL_EXT_RTAI_PATCH))

and we have a package called 'rtai', so the normal logic of
<pkg>_PATCH applies. Since the <pkg>_PATCH value does not contain
ftp://, http:// or https://, the package infrastructure will try to
download $(RTAI_SITE)/$(RTAI_PATCH), i.e:

   https://www.rtai.org/userfiles/downloads/RTAI/home/foo/bar/myrtai.patch

Pretty clear that it has no chance of working.

Now, let's assume an URL is used as the value of
BR2_LINUX_KERNEL_EXT_RTAI_PATCH, such as
http://foo.com/bar/myrtai.patch. In this case, it will be properly
downloaded by the package infrastructure. But then, the following code
kicks in:

define RTAI_PREPARE_KERNEL
       $(APPLY_PATCHES)                        \
               $(LINUX_DIR)                    \
               $(dir $(RTAI_PATCH))            \
               $(notdir $(RTAI_PATCH))
endef

The value of $(dir $(RTAI_PATCH)) will be http://foo.com/bar/. How
can $(APPLY_PATCHES) make use of such a stupid patch location?

[Thomas: add Config.in.legacy handling, as suggested by Arnout, even
if we believe that no-one could have ever used this option.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-04-22 22:12:15 +02:00
erico.nunes
1afd174f8e linux: Add uImage support for powerpc64
linux has uImage generation support for powerpc64 as well as powerpc,
since 2.6.15.

Signed-off-by: Erico Nunes <erico.nunes@datacom.ind.br>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-14 10:07:18 +02:00
Gustavo Zacarias
279e20cae0 linux: bump default to version 4.0
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-13 22:14:58 +02:00
Peter Seiderer
03ee513bda linux: fix fbtft kernel extension
Fixes fbtft kernel extension bug reported by Richard Fergusson ([1]):

drivers/video/Kconfig:2525: can't open file
"drivers/video/fbdev/fbtft/Kconfig"

Fix: write the right fbtft/KConfig path to video/Kconfig or
video/fbdev/Kconfig (instead of hard coded one)

[1] http://lists.busybox.net/pipermail/buildroot/2015-January/117057.html

Reported-by: Richard Fergusson <fergie4000@gmail.com>
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-09 23:26:16 +02:00
Yann E. MORIN
700be8e2a4 linux: migrate extensions to use the new infrastructure
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>
2015-04-09 23:00:01 +02:00
Yann E. MORIN
9bd541d3b2 linux: simplify adding new extensions
Curently, all three linux extensions follow the same layout:
  - test if the extension is enabled
  - add itself to linux' patch-dependencies
  - declare a macro, added as the pre-patch hook

Except for the macro, all can be commonalised.

Add a simple infrastructure for that:
  - extensions declare themselves in the list of extensions
  - extensions define their macro
  - the infra adds them to the patch-dependencies and pre-patch
    hooks as appropriate

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>
2015-04-09 22:57:51 +02:00
Yann E. MORIN
53785a2c77 linux: fix extensions
Since the move to the kconfig-package infra, linux extensions are
broken.

In our linux package, extensions are applied as pre-patch hooks.

Before the kconfig-package infra, we had custom rules for the
linux-*config targets, which were of the form:

    linux-menuconfig: linux-configure
        $(MAKE) -C $(LINUX_DIR) menuconfig

This caused the linux tree to be fully configured before running the
configurators, and thus linux dependencies were entirely fullfilled, and
extensions were properly applied.

Since we migrated (in dff25ea), the kconfig-package infra introduces a
(hidden, internal) intermediate step 'kconfig-fixup' and decorelates the
kconfig-part of the configuration from the actual package-part of the
configuration:

    linux-configure -------> kconfig-fixup --> .config --> $(LINUX_CONFIG_FILE)
                        /
    linux-menuconfig --'

As thus, this (very useful!) use-case breaks (starting from a clean
Buildroot tree):

    make menuconfig
        -> enable a kernel and at least one extension
        -> save and exit
    make linux-menuconfig
        -> extensions are not available

Fix that by using the newly-introduced patch-dependencies, so that
extensions are available before we try to patch the linux kernel.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-09 22:52:20 +02:00
Masahiro Yamada
5b686a0674 Fix typos in comment blocks
[Thomas: fix issues noticed by Arnout:
  - Rewrap the linux/Config.in paragraph
  - Revert the "is a toolchain dependency" -> "has a toolchain
    dependency" change from pkg-generic.mk, as the original was
    correct.]

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-08 22:44:43 +02:00
Thomas Petazzoni
0eba4759fa packages: apply custom patches using *.patch instead of <pkg>-*.patch
Several packages have some logic to apply custom patches that existed
before the BR2_GLOBAL_PATCH_DIR mechanism: at91bootstrap,
at91bootstrap3, barebox, uboot and linux. Currently, the logic of
those packages to apply custom patches is to match
<package-name>-*.patch, which is not consistent with what we've done
for patches stored in the package directory, and for patches stored in
BR2_GLOBAL_PATCH_DIR: in such cases, we simply apply *.patch.

Therefore, for consistency reasons, this commit changes these packages
to also apply *.patch.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-04-06 11:04:59 +02:00
Jerzy Grzegorek
bd8c733fb4 packages: indentation cleanup
This commit doesn't touch infra packages.

Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-31 13:57:41 +02:00
Thomas Petazzoni
7430a41801 linux: use the package infrastructure to download patches
The linux package has a special handling of patches, with quite a bit
of legacy in it. A problem caused by this special handling is that the
linux package calls directly the DOWNLOAD_WGET macro, which means that
the package infrastructure isn't aware of which patches get
downloaded, and it prevents doing changes inside the package download
infrastructure.

This commit changes the handling of patches in the linux package in
the following way:

 * The LINUX_PATCHES variable is kept as is: it lists all the patches
   mentioned in the Config.in option BR2_LINUX_KERNEL_PATCH. This
   option can contain http://, ftp://, https:// URLs, path to local
   files or local directories.

   This variable is *not* used by the generic package infrastructure,
   so it is purely internal to the Linux package.

 * The LINUX_PATCH variable is now filled in with the list of patches
   that should be downloaded. It is derived from LINUX_PATCHES by
   filtering the patches that have http://, ftp:// or https:// in
   their path. Since <pkg>_PATCH is handled by the package
   infrastructure, it means that those patches are now automatically
   downloaded and applied by the package infrastructure.

 * The LINUX_APPLY_PATCHES hook is renamed to
   LINUX_APPLY_LOCAL_PATCHES, because it is now only responsible of
   applying local patches: remote patches are handled by
   LINUX_PATCH. The implementation of the hook is changed to filter
   out the patches that have already taken care of by LINUX_PATCH, so
   that we only iterate through the list of local patches or local
   patch directories.

[Thomas: adjust comment in the code according to Yann comments.]

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-03-30 23:38:13 +02:00
Romain Naour
88f80b3123 linux-ext: update Xenomai help text
Reword the help text and get ride of the supported kernel
version list which is outdated since Xenomai version bump.

[Thomas: rewrap text to the appropriate length, fix some typos.]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-29 15:21:37 +02:00
Gustavo Zacarias
fda9911b07 linux: bump default to version 3.19.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-27 17:45:00 +01:00
Gustavo Zacarias
79b64431fc linux: bump default to version 3.19.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-19 13:41:22 +01:00
Sébastien Szymanski
540e14a81c linux: stop if one linux patches doesn't apply
If you have several linux patches directories, Buildroot does not stop
if one patches of the first directories don't apply. This patch fixes
this.

Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-16 19:46:10 +01:00
Yann E. MORIN
68443c52dd linux: add note about why it's safe to include other .mk files
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <patrickdepinguin@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-13 22:04:29 +01:00