Commit Graph

139 Commits

Author SHA1 Message Date
Felix Fietkau
4ab26a52ef build: skip rebuild of kernel images if the source did not change
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48145
2016-01-06 18:38:49 +00:00
Felix Fietkau
9c949b0dca build: suppress unnecessary kernel config rewrites to speed up build
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48143
2016-01-06 18:37:42 +00:00
Felix Fietkau
3bbb927728 build: Allow kernel modules to set build ID debug symbol
This change adds support for specifying a build ID for kernel modules.
This is done by setting PKG_BUILD_ID to a hexadecimal string, which will
then be passed to the kernel linker. In addition, when this flag is set,
the build ID debug symbol (.note.gnu.build-id) will not be stripped from
the kernel module. This symbol is exported in sysfs by the kernel (if
the kernel is compiled with CONFIG_KALLSYMS) and so can be used to
uniquely identify a version of a kernel module in a running kernel. This
is useful for keeping track of different versions of a module when doing
experiments and development.

Modules that specify the build ID will be ~100 bytes larger (depending
on the length of the build ID specified). There is no size difference
for kernel modules that do not set this variable.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>

SVN-Revision: 47290
2015-10-30 15:20:12 +00:00
John Crispin
3ec7ccf501 config: add an option to enable KPROBE
Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>

SVN-Revision: 45212
2015-04-01 08:33:04 +00:00
Felix Fietkau
5d9eeab64a build: remove obsolete references to cris and avr32
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44965
2015-03-24 10:07:40 +00:00
Jo-Philipp Wich
b941d2fd65 include: pass kernel version when generating kconfig overrides
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44189
2015-01-29 15:51:00 +00:00
Felix Fietkau
9318930993 kernel: allow specifying kernel images to be copied separately from kernel make command line
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43619
2014-12-11 15:29:33 +00:00
Felix Fietkau
b0ef5e66fa build: remove useless quote stripping for KERNELNAME, add fallback for it in the kernel build command line
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42781
2014-10-05 20:17:23 +00:00
Felix Fietkau
a402b5c48d build: make sure modules are modposted after initramfs image is built
Otherwise the modpost steps for individual modules that are compiled
manually (using make package/<name_of_module>/install) will give warning
of missing symbols when that module depends other modules.

This is caused by the Module.symvers file not containing any symbols
anymore of external modules when the initramfs image is built without
specifically giving the modules target.

Signed-off-by: Tjalling Hattink <t.hattink@fugro.nl>

SVN-Revision: 42773
2014-10-05 16:58:16 +00:00
John Crispin
8295b1f7f2 target/linux/*/image/Makefile: eliminate more LINUX_DIR users
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41792
2014-07-21 18:42:11 +00:00
John Crispin
34106f4a1a include: Allow git kernel branch selection
This allows the selection of a specific branch in the menuconfig
when using a kernel downloaded from GIT.

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 40946
2014-06-02 12:45:22 +00:00
John Crispin
c77feae6be include: Clean-up kernel git command options management
The way git options are managed in kernel-defaults.mk makes additions

difficult. If requires different code path for each option; it's
ok so far as we handle only one option, but if we want to make the git
clone mechanism more flexible, more option will be required, which
will become tedious.

So; we'll move the GIT options into a variable, that may or may not be
set depending on the configuration, and we'll pass this variable to the
git command.

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 40945
2014-06-02 12:45:19 +00:00
John Crispin
45e3540a3f config: Remove KERNEL_GIT_LOCAL_REPOSITORY option
The GIT_LOCAL_REPOSITORY option adds the --reference argument to the
git clone kernel command line, if KERNEL_GIT_CLONE_URI is set.

This option is intended to speed-up the repo creation by using local
objets rather than downloading it. However, a local repo can be cloned
much faster by setting GIT_LOCAL_REPOSITORY directly to the local tree.

In that case, git clone will bypass the normal "git aware" transport
mechanism and clone the repository by copying and hardlinking objects
rather than downloading it, resulting in a significant speed increase.

That makes the GIT_LOCAL_REPOSITORY option pretty useless so we'll just
remove it and recommand the usage of KERNEL_GIT_CLONE_URI directly.

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 40944
2014-06-02 12:45:16 +00:00
John Crispin
76133009c9 sparse: add as a new package selectable from the config
This change does multiple things, all related to enable sparse usage as
a static analysis tool selectable from the OpenWrt configuration:
*add a KERNEL_SPARSE option in the config to add sparse to the kernel
 build (through the C=1 option usage)
*add sparse as a new host tools. It will get selected automatically when
 the above option will be enabled

Signed-off-by: Mathieu Olivari <mathieu@qca.qualcomm.com>

SVN-Revision: 40490
2014-04-12 21:21:49 +00:00
Felix Fietkau
627e974c99 partially revert "build: remove check for nonexistant CONFIG_TAR_VERBOSITY variable and move TAR_OPTIONS to unpack.mk"
This complicates the evaluation order for some packages

SVN-Revision: 40006
2014-03-22 19:52:48 +00:00
John Crispin
b5542f6aed include: r39979 broke kernel unpacking
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 40002
2014-03-21 18:55:31 +00:00
Felix Fietkau
f440e7faea kernel: fix parallel build issues with header install
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39424
2014-01-30 07:33:42 +00:00
Imre Kaloz
7aaa9bc91c add x86_64 target support
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 39208
2014-01-07 12:23:35 +00:00
Florian Fainelli
cdcde21b8d include: handle LZ4 compression scheme
Kernel 3.12 now offers LZ4 compression which will make initramfs builds
fail because we do not know how to substitute the relevant config
symbols, fix that.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 38533
2013-10-25 01:48:02 +00:00
Felix Fietkau
bb494ed639 kernel: fix remaining initramfs related breakage
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37518
2013-07-23 13:11:41 +00:00
Luka Perkov
448decfa8e include: fix path for kernel-generated cpio removal
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 37128
2013-07-02 09:59:17 +00:00
Florian Fainelli
5b5fd9f92d include: force a kernel-generated cpio removal and rebuild
Make sure that the kernel rebuilds the initramfs cpio archive file by
deleting it before so we get it re-generated properly.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37125
2013-07-01 20:52:00 +00:00
Florian Fainelli
bc7260a125 buildroot: filter out dtbs KERNELNAME target (#13785)
Do not attempt to copy arch/$(LINUX_KARCH)/boot/dtbs because these are
not real files, fixes #13785.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37107
2013-06-30 17:09:21 +00:00
Florian Fainelli
eab95ea467 buildroot: copy KENRNELNAME files to $(KDIR)
In order to support building both normal and initramfs kernel, we will
rebuild the wrappers around the vmlinux ELF binary, copy these with an
appropriate extension when they exist.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37048
2013-06-27 19:58:24 +00:00
Florian Fainelli
a890ccd6e0 buildroot: build a second pass kernel if initramfs is enabled
If initramfs is enabled, build a second pass kernel containing the CPIO
rootfs, preliminary work to get non exclusive enabling of initramfs.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37047
2013-06-27 19:58:20 +00:00
Florian Fainelli
b729d41d64 buildroot: workaround broken syntax highlighting
GNU Make's subst is always breaking syntax highlighting with at least
vim add the right comments to workaround it.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37046
2013-06-27 19:58:16 +00:00
Florian Fainelli
d85ec2b936 kernel: add missing CONFIG_KALLSYMS_UNCOMPRESSED symbol
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35180
2013-01-15 19:55:45 +00:00
Imre Kaloz
0fa21ec3eb use xz compressed kernel tarballs
SVN-Revision: 34228
2012-11-18 08:49:08 +00:00
Florian Fainelli
451803c51a kernel-defaults: factor common code handling initramfs options
While at it, reindent so it is more in-line with the rest of the file.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34034
2012-10-31 17:32:37 +00:00
Florian Fainelli
246e563cb7 properly reindent Kernel/Prepare/Default
SVN-Revision: 34014
2012-10-30 16:56:03 +00:00
Felix Fietkau
482a6d4aea kernel: suppress redundant calls to headers installation
SVN-Revision: 33421
2012-09-15 12:16:11 +00:00
Felix Fietkau
8091d3f2e8 kernel: remove the explicit kernel make call for "oldconfig prepare scripts", the kernel build system has proper dependencies
SVN-Revision: 33420
2012-09-15 12:16:07 +00:00
Felix Fietkau
b1f318de53 kernel: fix portability issues on the x86 specific relocs host tool, fixes build on mac os x
SVN-Revision: 32783
2012-07-20 12:28:50 +00:00
Florian Fainelli
6de0939c3a build: allow KERNELNAME to contain multiple kernel make targets
SVN-Revision: 32423
2012-06-18 13:20:50 +00:00
Gabor Juhos
622146a518 include/kernel-defaults: set V='' if c is not set in OPENWRT_VERBOSE
This fixes the following errors:

  CALL    arch/powerpc/kernel/prom_init_check.sh
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer axpression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
arch/powerpc/kernel/prom_init_check.sh: line 39: [: ss: integer expression expected
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h

SVN-Revision: 31598
2012-05-05 12:48:35 +00:00
Gabor Juhos
3349cf2691 Fix iptables abuse of kernel header files. Use exported headers instead.
[juhosg: export xt_layer7.h for all kernel versions]

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

SVN-Revision: 31566
2012-05-03 09:43:10 +00:00
Felix Fietkau
34ffb526a2 build: rework verbosity level selection
V=99 and V=1 are now deprecated in favor of a new verbosity class system,
though the old flags are still supported.
You can set the V variable on the command line (or OPENWRT_VERBOSE in the
environment) to one or more of the following characters:

- s: stdout+stderr (equal to the old V=99)
- c: commands (for build systems that suppress commands by default, e.g. kbuild)
- w: warnings/errors only (equal to the old V=1)

SVN-Revision: 31484
2012-04-26 17:53:56 +00:00
Mirko Vogt
ea14276046 enable verbose output of kernel build if V=99 is passed
append V=1 to KERNEL_MAKEOPTS when $V (and therewith $KBUILD_VERBOSE) is set to 99

SVN-Revision: 31466
2012-04-24 12:42:57 +00:00
John Crispin
032f3ea5e7 define external cpio
Allow building image with an external cpio

Signed-off-by: Tathagata Das <tathagata@alumnux.com>

SVN-Revision: 31204
2012-04-05 14:33:04 +00:00
Jo-Philipp Wich
97af76a920 include: calculate md5sum over sorted kernel config symbol list and incorperate it into the kernel metapackage version, make kmods depend on this specific version. The aim of this change is to invalidate kmods which are built against a different kernel config on the opkg metadata level. Manual copying and insmod of custom *.ko files, e.g. for development purpose, is still possible.
SVN-Revision: 29686
2012-01-08 15:23:11 +00:00
Felix Fietkau
fc0863785a add a portable version of sys/sysmacros.h and and let the kernel use the host include dir, fixes x86 builds on non-gnu systems
SVN-Revision: 27346
2011-07-02 06:49:56 +00:00
Felix Fietkau
caf4747f0c build: clean up handling of the kernel config
- support kernel config overlays in env/
- allow overriding the target kernel config with CONFIG_TARGET=platform|subtarget|env

SVN-Revision: 26498
2011-04-06 14:48:55 +00:00
Imre Kaloz
b74308c433 only support EABI on ARM targets
SVN-Revision: 25928
2011-03-07 12:59:19 +00:00
Imre Kaloz
a361eab890 fixup board specific KERNELNAME overrides
SVN-Revision: 25138
2011-01-27 12:21:10 +00:00
Imre Kaloz
832fc4a133 2.6.38 supports xz ramdisks, too
SVN-Revision: 25080
2011-01-24 06:41:11 +00:00
Florian Fainelli
b6e9f1dfe0 make targets provide their KERNELNAME
SVN-Revision: 23919
2010-11-08 07:31:25 +00:00
Felix Fietkau
6117c04c94 remove linux 2.4 specific build system code
SVN-Revision: 21951
2010-06-26 20:42:38 +00:00
Alexandros C. Couloumbis
43ee14563c finalize lzma/jffs2 support (currently not enebled by default, for kernels >=2.6.33) based on Edgar Soldin patches: https://lists.openwrt.org/pipermail/openwrt-devel/2010-March/006550.html
SVN-Revision: 20837
2010-04-13 14:07:22 +00:00
Imre Kaloz
0ebb9220a0 make lzo compressed initramfs selectable, too
SVN-Revision: 18457
2009-11-21 15:20:11 +00:00
Felix Fietkau
ea41d3a288 merge target kernel config files with subtarget config files and add a variable override for editing the target kernel config file with make kernel_menuconfig in case the subtarget contains overrides (thx, sn9)
SVN-Revision: 18362
2009-11-11 01:25:06 +00:00
Felix Fietkau
bf2fe7ea9a automatically adjust CONFIG_BLK_DEV_INITRD in the kernel config (thx, sn9)
SVN-Revision: 18361
2009-11-11 01:25:02 +00:00
Gabor Juhos
f7033929fa add menuconfig option for enabling debugfs support in the kernel
SVN-Revision: 17540
2009-09-08 07:25:20 +00:00
Gabor Juhos
e2f5de7a46 add menuconfig option for selecting initramfs compression
SVN-Revision: 17283
2009-08-16 05:35:34 +00:00
Felix Fietkau
bb5a40c64b add an optional config option for stripping all unnecessary symbol exports from the kernel image
SVN-Revision: 17181
2009-08-08 14:22:04 +00:00
Imre Kaloz
8582177e73 2.6.30 supports different initramfs compressors, take care of them
SVN-Revision: 15498
2009-04-29 20:53:38 +00:00
Florian Fainelli
c09afea86a also strip the .notes section of the kernel
SVN-Revision: 15443
2009-04-27 15:37:58 +00:00
Felix Fietkau
08b408a4c5 move the EABI config override to the generic kernel config overrides, as it's arch specific, not target specific - fixes spurious kernel rebuild issues with EABI
SVN-Revision: 14594
2009-02-21 16:26:27 +00:00
Felix Fietkau
18441c327a kernel: add missing definition for CONFIG_KALLSYMS_ALL
SVN-Revision: 14507
2009-02-14 14:10:44 +00:00
Felix Fietkau
7b1820a1b7 strip the .note.gnu.build-id section from kernel images, which on some platforms can lead to unusable 3.1G kernel image files
SVN-Revision: 14357
2009-02-02 16:39:28 +00:00
Lars-Peter Clausen
24f02449ff Add menuconfig option for enabling profiling in the kernel.
SVN-Revision: 14272
2009-01-29 23:52:35 +00:00
Felix Fietkau
b271605228 add a menuconfig option for enabling KALLSYMS for the kernel
SVN-Revision: 14122
2009-01-20 21:09:04 +00:00
Imre Kaloz
8375b83015 use the default kernel target on powerpc
SVN-Revision: 13357
2008-11-26 09:51:36 +00:00
Hamish Guthrie
86ac8bc7ea Adds support for using a local clone of a git tree
SVN-Revision: 12941
2008-10-10 10:07:45 +00:00
Felix Fietkau
ab8c8b019f enable quilt by default for the kernel tree
SVN-Revision: 12400
2008-08-27 14:14:00 +00:00
Felix Fietkau
a3a37d0bb1 rework parallel building to get rid of some warnings and add back support for parallelizing the kernel build fixes #3882
SVN-Revision: 12322
2008-08-16 16:59:47 +00:00
Felix Fietkau
7866f69cbe spurious initramfs breakage fix
SVN-Revision: 11670
2008-07-05 22:11:22 +00:00
Andy Boyett
d9ec7366c7 Disabling use of libintl in kconfig.
SVN-Revision: 9934
2007-12-26 22:21:56 +00:00
Eugene Konev
4735a0f5fe add external kernel tree support
SVN-Revision: 9584
2007-11-20 13:21:01 +00:00
Felix Fietkau
dfa7618bd6 fix the image builder
SVN-Revision: 9549
2007-11-14 23:11:07 +00:00
Felix Fietkau
881bac2db2 Allow targets to specify extra initramfs source files
The CONFIG_INITRAMFS_SOURCE Kconfig variable can be a space-separated
list of source files (or directories). This allows a platform to
add extra components to the initramfs image, by defining the
INITRAMFS_EXTRA_FILES make var.

By default, we add a simple initramfs extra file for the generic-2.6
platform, which specifies a few device nodes.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

SVN-Revision: 9410
2007-10-23 06:23:29 +00:00
Felix Fietkau
4a142953ea Use current UID for initramfs root user:group
Set the CONFIG_INITRAMFS_ROOT_{U,G}ID kernel variables to the current
user, so that all files end up being owned by root in the final
initramfs image.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

SVN-Revision: 9409
2007-10-23 06:23:26 +00:00
Felix Fietkau
4bb2c88f4e don't specify "CC=<nothing>" on kernel build command line
If KERNEL_CC isn't set, we end up with a "CC=" on the kernel build
command-line. We don't always need CC, as the CROSS_COMPILE flag does
the job instead. In fact, specifying CC messes up the build when we're
using a biarch compiler.

This change doesn't specify CC= if the KERNEL_CC variable is empty.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

SVN-Revision: 9408
2007-10-23 06:23:23 +00:00
Felix Fietkau
d1933f9761 move a stampfile to make it easier to override the patch template
SVN-Revision: 9062
2007-09-29 03:39:57 +00:00
Nicolas Thill
8c7105e20a remove (unused?) linux symlink in BUILD_DIR
SVN-Revision: 8804
2007-09-16 16:28:50 +00:00
Felix Fietkau
e63e1f7a4a add support for device type based package preselections
SVN-Revision: 8696
2007-09-08 21:30:25 +00:00
Felix Fietkau
a9d683ca91 major target cleanup. it is now possible to have subtargets that can override many target settings, including arch - merge adm5120, adm5120eb. target profiles still need to be adapted for subtargets
SVN-Revision: 8694
2007-09-08 19:55:42 +00:00
Felix Fietkau
c6bc77ea36 build system cleanup/restructuring as described in http://lists.openwrt.org/pipermail/openwrt-devel/2007-August/001159.html
SVN-Revision: 8362
2007-08-07 00:04:25 +00:00
Felix Fietkau
bec2fe7c6c remove CONFIG_JLEVEL. use make -j in the future
SVN-Revision: 8237
2007-07-30 18:24:47 +00:00
Felix Fietkau
8e42553971 dynamically enable/disable kernel config options for kmod packages based on build system config
SVN-Revision: 8026
2007-07-18 11:31:01 +00:00
Felix Fietkau
a344cd47ed fix the tar invocation in kernel build (#1935)
SVN-Revision: 7686
2007-06-21 15:50:01 +00:00
Felix Fietkau
f019ac4dc9 prepare for the transition to linux 2.6.22 - make it possible to override the kernel version in the target makefile
SVN-Revision: 7644
2007-06-16 01:56:04 +00:00
Imre Kaloz
08c7265613 add support for the AVR32 platform, namely the ATNGW100 board - joint work with wigyori
SVN-Revision: 7533
2007-06-08 10:44:01 +00:00
Felix Fietkau
3b6b7a2d1b implement quilt handling for the kernel tree ... and there was much rejoicing!
SVN-Revision: 7474
2007-06-03 08:28:05 +00:00
Mike Baker
854f0ad080 change handling of target/linux/generic-2.x/files to match other targets (#1648)
SVN-Revision: 7158
2007-05-10 08:35:48 +00:00
Felix Fietkau
90acc0e779 fix make kernel_menuconfig (#1637)
SVN-Revision: 7094
2007-05-05 08:53:34 +00:00
Felix Fietkau
74cd5bc109 add workaround for occasional kernel module build failures related to kernel config changes
SVN-Revision: 7050
2007-04-25 22:26:40 +00:00
Felix Fietkau
4c6c987f09 Improved autorebuild for kernel related stuff. - make modules_install in the kernel tree is no longer called - make modules is called on every target/compile run - kmod packages pull the kernel modules directly out of the kernel tree and have proper file depends on them
SVN-Revision: 6998
2007-04-18 12:28:38 +00:00
Felix Fietkau
35317253e6 trigger a kernel module rebuild when the kernel config changes
SVN-Revision: 6671
2007-03-24 17:05:26 +00:00
Felix Fietkau
ea952312ae move default templates for the kernel build to kernel-defaults.mk (similar to package-defaults.mk)
SVN-Revision: 6664
2007-03-24 13:42:54 +00:00