Commit Graph

164 Commits

Author SHA1 Message Date
Jo-Philipp Wich
349e7b635e include: fix nonshared flag handling
Fix nonshared flag handling to properly deal with source packages defining
both kmod and non-kmod ipks.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-15 10:26:36 +02:00
Jo-Philipp Wich
d87c303b58 include/kernel.mk: flag kmod packages as nonshared by default
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-06 22:37:58 +02:00
Jo-Philipp Wich
be575fdc9d include: remove now unused PACKAGE_SUBDIR variable
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-13 15:37:34 +02:00
Felix Fietkau
fefe200a00 include/kernel: sort module lists for reproducibility
This is to get reproducible builds of, eg, the kmod-sched ipkg.

Locale preferences can change build order, but the locale is already been
defined for the entire build process, so it doesn't need to be specified here.

Signed-off-by: bryan newbold <bnewbold@robocracy.org>

SVN-Revision: 48540
2016-01-28 22:42:29 +00:00
Jo-Philipp Wich
4e14a27799 include: restrict separate kmod repo handling to base packages
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48479
2016-01-24 18:01:43 +00:00
Jo-Philipp Wich
0333da8943 include: group kmod ipk files into a "kernel" subdirectory
This is useful to just use the kmods from an official build while supplying
base packages from a custom feed or the other way around; for just overriding
the kmods with a local repo while using official repos for the rest.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 48475
2016-01-24 15:36:05 +00:00
Felix Fietkau
f301086eca build: remove SDK special case for kernel module packages
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48207
2016-01-11 23:11:13 +00:00
Felix Fietkau
576621f1e3 linux: add support of Synopsys ARC770-based boards
This patch introduces support of new boards with ARC cores.

 [1] Synopsys SDP board
     This is a new-generation development board from Synopsys that
     consists of base-board and CPU tile-board (which might have a real
     ASIC or FPGA with CPU image).
     It sports a lot of DesignWare peripherals like GMAC, USB, SPI, I2C
     etc and is intended to be used for early development of ARC-based
     products.

 [2] nSIM
     This is a virtual board implemented in Synopsys proprietary
     software simulator (even though available for free for open source
     community). This board has only serial port as a peripheral and so
     it is meant to be used for runtime testing which is especially
     useful during bring-up of new tools and platforms.
     What's also important ARC cores are very configurable so there're
     many variations of options like cache sizes, their line lengths,
     additional hardware blocks like multipliers, dividers etc. And this
     board could be used to make sure built software still runs on
     different HW configurations.

Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

SVN-Revision: 47589
2015-11-22 19:06:07 +00:00
Felix Fietkau
120a88b9da include/kernel.mk - better search for ARCH
If "findstring" is used without leading and trailing spaces unexpected matches
may happen. For example consider ARC=arc then "findstring $(ARCH)" will
report a false match with "aarch64".

But "findstring $ARCH " (note trailing space) will correctly skip
matches for both "aarch64" and "aarch64_be".

This patch is built-tested against NetGear WNDR3800.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47359
2015-11-02 18:12:29 +00:00
Jonas Gorski
a6b2271f5d kernel: assume modules.builtin is always present
We do not support old kernel versions not generating modules.builtin
anymore, so assume it will always be present and check for modules
to be built in first.

This prevents old modules being packages up after changing the kernel
config to include them in the kernel without cleaning the kernel tree.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46182
2015-07-05 21:31:34 +00:00
John Crispin
bbad3f360e modules: fix postinst generation for kernel modules
Fixes ticket #19352.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 45367
2015-04-10 20:39:44 +00:00
Nicolas Thill
5b1d880949 include/kernel.mk: add KernelPackage/conffiles macro
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 45245
2015-04-02 14:53:34 +00:00
Felix Fietkau
ed1e783aa1 kernel: only run kernel module list through version filter where version specific items are present - cuts package/kernel/linux/compile time in half
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45131
2015-03-29 07:35:42 +00:00
Luka Perkov
7002f6326e include: remove trailing whitespaces
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 45127
2015-03-29 07:29:18 +00:00
Michael Büsch
921bc1cc54 Fix download URL of the 4.x kernel.
SVN-Revision: 44589
2015-03-01 20:44:33 +00:00
Jo-Philipp Wich
f942a9b82a include: apply version filter on AutoLoad and AutoProbe arguments
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44228
2015-01-31 13:55:44 +00:00
Jo-Philipp Wich
cb846dae0c include: apply version filter on kmod file list
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 44190
2015-01-29 15:51:05 +00:00
Felix Fietkau
47e651e2eb kernel: drop obsolete kernel version checks
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44113
2015-01-24 22:13:22 +00:00
Felix Fietkau
256d49be3c kernel.mk: Handle the x86_64 LINUX_KARCH case
x64 is handled by the x86 architecture in Linux, add a case for it in
LINUX_KARCH.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

SVN-Revision: 43672
2014-12-12 18:28:13 +00:00
Felix Fietkau
fb5e8d203b kernel.mk: Refactor LINUX_KARCH affectation
Switch to a dumber implementation that will be easier to maintain in the long
run, with only if statements instead of having nested subst calls.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

SVN-Revision: 43671
2014-12-12 18:28:03 +00:00
Jonas Gorski
e0342d2684 sdk: don't try to build in-kernel kmods
We don't ship the kernel sources, so using the base git as a feed will
fail when trying to build kernel modules with separate install steps.
Instead of trying to fixup the install steps, let's just skip building
kernel modules alltogether and just create empty packages.

Out-of-kernel modules are still expected to exist and are packaged, as
for these sources are fetched during the normal build steps.

Reported-by: Jo-Philipp Wich <jow@openwrt.org>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 43525
2014-12-05 11:50:42 +00:00
Florian Fainelli
dd8d7188ee aarch64: add initial support
Add initial support for the AArch64 architecture

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

SVN-Revision: 43353
2014-11-24 06:33:13 +00:00
Felix Fietkau
ab92a23394 build: allow AutoLoad and AutoProbe to specify modules not included in the package
On out-of-tree modules depending on other out-of-tree modules from a
different tree, module dependencies are not filled properly.
This change helps with adding those dependencies in the AutoLoad call

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43323
2014-11-19 20:16:50 +00:00
John Crispin
4b47d5b732 kernel: remove debug code from module insert script
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 38340
2013-10-08 15:08:23 +00:00
John Crispin
022cadd64e include: add AutoProbe support
This is needed to make modprobe work

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 38020
2013-09-17 21:45:05 +00:00
Jo-Philipp Wich
6a559ff95e include: modify kernel.mk to build empty kmod packages if the referenced symbols do not exist in the config
SVN-Revision: 37400
2013-07-18 15:41:09 +00:00
John Crispin
43a3d87b83 package: fix insmod on install
the procd changes broke the postinst insmod.

Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37015
2013-06-22 22:09:40 +00:00
Jonas Gorski
88ff7e3f23 include/kernel.mk: print warnings/errors to stderr
Makes warnings/errors visible when building with V=w/V=1.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 35713
2013-02-21 11:45:16 +00:00
Felix Fietkau
76f0fd210f kernel: fix module packages postinst by pointing to the new functions.sh location
SVN-Revision: 34804
2012-12-20 15:29:37 +00:00
John Crispin
e9c0b95829 fixes uapi helper define
SVN-Revision: 34715
2012-12-16 11:04:27 +00:00
John Crispin
0803171cd1 adds wrapper for uapi directory
SVN-Revision: 34683
2012-12-15 01:59:14 +00:00
Felix Fietkau
720ccbd95d kernel: move KERNEL_BUILD_DIR under BUILD_DIR to properly fix gcc/libc based dependencies
SVN-Revision: 34450
2012-12-02 15:26:24 +00:00
Jo-Philipp Wich
9079032833 include: use $(DIR_SUFFIX) in $(KERNEL_BUILD_DIR) to separate build_dir/linux-* directories when building different libc implementations in the same buildroot
SVN-Revision: 34299
2012-11-22 13:43:24 +00:00
Imre Kaloz
0fa21ec3eb use xz compressed kernel tarballs
SVN-Revision: 34228
2012-11-18 08:49:08 +00:00
Imre Kaloz
996f48b4a3 we only support v3.x kernels
SVN-Revision: 34225
2012-11-18 08:38:26 +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
Jonas Gorski
14482ced5e include/kernel.mk: don't check for modules.builtin on 2.6.32-
modules.builtin is only available in 2.6.33 and later, so fall back to
assuming it's built-in for older kernels.

SVN-Revision: 29018
2011-11-13 11:45:09 +00:00
Nicolas Thill
7de2766a02 include/kernel.mk: enhance built-in/missing modules detection when packaging kmods
SVN-Revision: 28856
2011-11-08 14:00:36 +00:00
Nicolas Thill
3bcb16b305 package/blockmount: simplify extroot module loading logic
SVN-Revision: 28650
2011-10-28 13:10:50 +00:00
Nicolas Thill
b5af64c529 kernel: build kmod even for modules built-in
SVN-Revision: 28649
2011-10-28 13:10:43 +00:00
Michael Büsch
69853cc4e8 Fix kernel version check macro typo
SVN-Revision: 28627
2011-10-27 16:56:22 +00:00
Jo-Philipp Wich
b292524c13 kernel.mk: also do not download Linux if CONFIG_KERNEL_GIT_CLONE_URI is set
SVN-Revision: 28360
2011-10-03 10:19:25 +00:00
Jonas Gorski
a5f2fd6359 include/kernel.mk: fix download path for linux 3.x
SVN-Revision: 27939
2011-08-09 12:19:38 +00:00
Felix Fietkau
5820306407 only export GCC_HONOUR_COPTS for the built-in toolchain, fixes missing-fhonour-copts warnings with external toolchains
SVN-Revision: 27771
2011-07-25 10:32:38 +00:00
Jonas Gorski
b197196bc8 kernel.mk: Fix kernel module path for 3.0
Linux 3.0 calls itself 3.0.0, so insmod expects the modules in
/lib/modules/3.0.0.

SVN-Revision: 27761
2011-07-24 21:42:33 +00:00
Felix Fietkau
9acb81d9af kernel.mk: add a new helper for comparing kernel versions, which can take 1 - 4 field kernel versions
implement CompareKernelPatchVer using this new helper
implement kernel_patchver_{gt,ge,eq,le,lt}, which are more convenient for use with inline $(if)

SVN-Revision: 27087
2011-06-01 18:08:17 +00:00
Felix Fietkau
0cf265ed06 remove kernel major version specific kernelpackage overrides
SVN-Revision: 27032
2011-05-30 23:07:48 +00:00
Florian Fainelli
8a6ee777b0 make ModuleAutoLoad more readable
When doing a build with tracing on, the expansion of ModuleAutoLoad can get a
little hairy.

Using intermediate variables to name the arguments makes tracing more readable.

One side effect is that if an argument is accidentally left out, we won't get
all of the parameters shifted one over thanks to quoting (done in AutoLoad).

Signed-of-by: Philip Prindeville <philipp@redfish-solutions.com>

SVN-Revision: 23513
2010-10-18 06:58:11 +00:00
Felix Fietkau
a9136c0892 speed up the build system by including include/shell.sh on shell commands only where necessary
SVN-Revision: 22720
2010-08-19 12:49:37 +00:00
Nicolas Thill
5cc5f15047 partially revert [22145], keep LINUX_KMOD_SUFFIX, needed to build external modules in ./packages
SVN-Revision: 22146
2010-07-12 16:01:13 +00:00
Claudio Mignanti
2d86ea7bf3 massive: replace occurences of .$(LINUX_KMOD_SUFFIX) with .ko after r21950
SVN-Revision: 22145
2010-07-12 14:06:13 +00:00
Felix Fietkau
965f770083 prevent kernel.mk from defining PATCH_DIR and FILES_DIR for regular packages
SVN-Revision: 20569
2010-03-29 03:07:54 +00:00
Felix Fietkau
93489b721e add support for marking specific kernel module packages as potentially being required for mounting the rootfs (patch by cshore)
SVN-Revision: 19878
2010-02-26 22:45:54 +00:00
Felix Fietkau
3c74d0b385 do not download kernel sources when using an external kernel tree
SVN-Revision: 18777
2009-12-14 13:54:03 +00:00
Felix Fietkau
cba2a6b1fd fix one more instance of r18295
SVN-Revision: 18301
2009-11-04 22:51:07 +00:00
Felix Fietkau
7a75347b26 fix platform specific overrides for kernel modules, fixes lp on brcm-2.4
SVN-Revision: 18295
2009-11-04 21:54:53 +00:00
Felix Fietkau
3b61c2c2b1 now that $(BOARD) is part of the opkg ARCH, there's no reason to keep the board name around in kmod-* package versions anymore
SVN-Revision: 17528
2009-09-06 17:26:37 +00:00
Florian Fainelli
7f36797bb7 ensure CONTROL directory is created (#5683)
SVN-Revision: 17293
2009-08-17 10:14:25 +00:00
Felix Fietkau
56164a5815 add a modified version of the mips64 patch from #4603
SVN-Revision: 15249
2009-04-18 17:03:55 +00:00
Felix Fietkau
015dff9d7d get rid of one more $(shell) instance
SVN-Revision: 14741
2009-03-03 15:28:57 +00:00
Felix Fietkau
431c9267b4 replace a few unnecessary $(shell) calls
SVN-Revision: 14739
2009-03-03 14:55:53 +00:00
Felix Fietkau
f3c14b3de8 avoid repeating the same dependency multiple times
SVN-Revision: 14738
2009-03-03 14:54:19 +00:00
Felix Fietkau
cdca343745 fix LINUX_KARCH for x86
SVN-Revision: 13986
2009-01-11 21:35:26 +00:00
Felix Fietkau
1e570a9288 change the way ./files* and the generic kernel files are applied. ./files now applies to *ALL* kernel versions, and is copied along with ./files-* - this gets rid of quite a bit of redundancy in the extra kernel drivers.
SVN-Revision: 13010
2008-10-18 21:43:30 +00:00
Felix Fietkau
096531f61e make sure that when the kernel config changes, compile is triggered for all kernel dependent packages
SVN-Revision: 12503
2008-09-02 15:50:09 +00:00
Felix Fietkau
38b96e6b68 fix kconfig for packages that only define =y, =m or =n rules
SVN-Revision: 12414
2008-08-27 21:34:01 +00:00
Travis Kemen
7c7bd6f61c This patch makes kernel modules check if config is defined and creates a config passthrough target which will evaluate the original config in the generated package. This is done so kernel modules can have configuration menus like busybox, etc... Signed-off-by: Axel Gembe <ago@bastart.eu.org>
SVN-Revision: 11139
2008-05-15 00:57:50 +00:00
Nicolas Thill
e93e293b41 add a macro to compare kernel patch versions and use it for crypto and watchdog changes in 2.6.24+ kernels (closes: #3402)
SVN-Revision: 11115
2008-05-11 20:56:51 +00:00
Felix Fietkau
2448cb8a15 add optional version suffix to kernel files/ directories
SVN-Revision: 10972
2008-04-28 22:01:14 +00:00
Felix Fietkau
5526395594 fix kernel config related build error
SVN-Revision: 9640
2007-11-30 17:22:44 +00:00
Felix Fietkau
d1b4f5b54f include the kernel config for kernel related packages (should fix some b43 compile issues)
SVN-Revision: 9635
2007-11-30 09:43:08 +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
d8e032edef don't replace powerpc arch with ppc
'powerpc' is a valid arch for the LINUX_KARCH variable, but the build
system unconditionally replaces LIUNUX_KARCH=powerpc with
LINUX_KARCH=ppc.

This change only does the replacement if LINUX_KARCH isn't set. This
allows us to use the powerpc architecture.

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

SVN-Revision: 9405
2007-10-23 06:23:12 +00:00
Nicolas Thill
892b16a352 revert CONFIG_* symbols set m enforcement introduced in [8591], it can't work when symbols from different kernel versions are mixed in KCONFIG
SVN-Revision: 8798
2007-09-16 16:10:37 +00:00
Felix Fietkau
e83d637f65 fix kernel build with quilt
SVN-Revision: 8727
2007-09-10 04:21:21 +00:00
Felix Fietkau
0c9b23594d fix kmod-crypto, emit warning messages for kmod packages that cannot be built due to missing kernel config options
SVN-Revision: 8697
2007-09-08 23:33:01 +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
56231056ea strip the kernel version suffix from target directories, except for brcm-2.4 (the -2.4 will be included in the board name here). CONFIG_LINUX_<ver>_<board> becomes CONFIG_TARGET_<board>, same for profiles.
SVN-Revision: 8653
2007-09-06 16:27:37 +00:00
Nicolas Thill
8dc7ced4d4 require all CONFIG_* symbols listed in its KCONFIG to be set to m in order to actually build a kmod package, tweak and fix kernel package definitions.
SVN-Revision: 8591
2007-09-03 08:58:14 +00:00
Nicolas Thill
6a6fa5a4ab provide default PKG_BUILD_DIR for packages missing a PKG_VERSION
SVN-Revision: 8583
2007-09-03 07:51:56 +00:00
Nicolas Thill
02cd6d278f use a default VERSION field for kmod packages
SVN-Revision: 8575
2007-09-02 16:39:27 +00:00
Nicolas Thill
1b226e4de1 add a '@KERNEL' download facility, tweak script
SVN-Revision: 8495
2007-08-26 18:21:24 +00:00
Nicolas Thill
b35e6fe3ba include kernel-version.mk from kernel.mk so that a correct KERNEL_PATCHVER is always available
SVN-Revision: 8494
2007-08-26 13:26:02 +00:00
Nicolas Thill
615a81cb65 move KERNEL_PATCHVER from kernel.mk to kernel-version.mk so that it is defined when dumping target infos
SVN-Revision: 8485
2007-08-25 14:50:17 +00:00
Nicolas Thill
655a446b17 add support for KernelPackage/*/description
SVN-Revision: 8484
2007-08-25 14:43:15 +00:00
Felix Fietkau
3df35f0b09 revert [8415], seems to be causing problems for the kernel build
SVN-Revision: 8418
2007-08-16 13:44:57 +00:00
Felix Fietkau
c2d5c1c0c2 always include kernel config for kernel packages
SVN-Revision: 8415
2007-08-15 23:33:37 +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
0f74fa296c fix kmod packages that don't use KCONFIG
SVN-Revision: 8323
2007-08-02 23:49:31 +00:00
Felix Fietkau
21075a17f7 fix kmod packaging for packages where some KCONFIG symbols are set to y
SVN-Revision: 8316
2007-08-02 13:38:03 +00:00
Felix Fietkau
99368862e4 Port the mbsd_multi patch from freewrt, which adds -fhonour-copts. This will emit warnings in packages that don't use our target cflags properly
SVN-Revision: 8256
2007-07-31 00:52:27 +00:00
Felix Fietkau
7ff45c5adb disable kmod packages where the KCONFIG options are =y
SVN-Revision: 8086
2007-07-20 22:25:14 +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
Gabor Juhos
259ff05f84 reordered GENERIC_PATCH_DIR variable
SVN-Revision: 7824
2007-07-01 11:44:50 +00:00
Felix Fietkau
6c4ee48f92 fix kernel config feature autodetection
SVN-Revision: 7811
2007-06-30 21:42:57 +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
Felix Fietkau
56220b258b fix kmod-* build error when wildcards are being used in $(FILES)
SVN-Revision: 7052
2007-04-26 08:06:52 +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
1d307eea87 add a default for PKG_BUILD_DIR and PKG_INSTALL_DIR (will use KERNEL_BUILD_DIR if kernel.mk is included, BUILD_DIR otherwise)
SVN-Revision: 6580
2007-03-16 19:18:55 +00:00
Felix Fietkau
d398dc0309 always dereference symbolic links when copying kernel modules into the packaging directory (fixes alsa build, patch from #1392)
SVN-Revision: 6350
2007-02-23 14:52:50 +00:00