aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2019-04-27 19:13:07 +0200
committerFelix Fietkau <nbd@nbd.name>2019-05-11 11:37:10 +0200
commit85017c40f4efce11edd77e0caac14aed0fd690eb (patch)
tree016be4bb6f80dcc9ef001a1c95424b8f3fba4cea
parent9cb3a3255e024183a2e179fe6621cd11fa6b8670 (diff)
downloadupstream-85017c40f4efce11edd77e0caac14aed0fd690eb.tar.gz
upstream-85017c40f4efce11edd77e0caac14aed0fd690eb.tar.bz2
upstream-85017c40f4efce11edd77e0caac14aed0fd690eb.zip
build: add a config option for enabling a testing version of the target kernel
If the target supports a newer kernel version that is not used by default yet, it can be enabled with this option Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--config/Config-build.in9
-rw-r--r--include/kernel-version.mk7
-rw-r--r--include/target.mk4
-rw-r--r--scripts/metadata.pm1
-rwxr-xr-xscripts/target-metadata.pl17
-rw-r--r--target/Config.in3
-rw-r--r--target/linux/apm821xx/Makefile1
-rw-r--r--target/linux/ath79/Makefile1
-rw-r--r--target/linux/bcm53xx/Makefile1
-rw-r--r--target/linux/brcm47xx/Makefile1
-rw-r--r--target/linux/cns3xxx/Makefile1
-rw-r--r--target/linux/gemini/Makefile1
-rw-r--r--target/linux/imx6/Makefile1
-rw-r--r--target/linux/ipq40xx/Makefile1
-rw-r--r--target/linux/kirkwood/Makefile1
-rw-r--r--target/linux/mpc85xx/Makefile1
-rw-r--r--target/linux/octeon/Makefile1
-rw-r--r--target/linux/sunxi/Makefile1
-rw-r--r--target/linux/tegra/Makefile1
-rw-r--r--target/linux/x86/Makefile1
20 files changed, 50 insertions, 5 deletions
diff --git a/config/Config-build.in b/config/Config-build.in
index 6d749476db..5132497e1d 100644
--- a/config/Config-build.in
+++ b/config/Config-build.in
@@ -36,6 +36,15 @@ menu "Global build settings"
comment "General build options"
+ config TESTING_KERNEL
+ bool "Use the testing kernel version"
+ depends on HAS_TESTING_KERNEL
+ default n
+ help
+ If the target supports a newer kernel version than the default,
+ you can use this config option to enable it
+
+
config DISPLAY_SUPPORT
bool "Show packages that require graphics support (local or remote)"
default n
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 81ec2bd252..c978294ecf 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -2,6 +2,10 @@
LINUX_RELEASE?=1
+ifdef CONFIG_TESTING_KERNEL
+ KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
+endif
+
LINUX_VERSION-4.9 = .172
LINUX_VERSION-4.14 = .115
LINUX_VERSION-4.19 = .38
@@ -23,6 +27,9 @@ else
ifdef KERNEL_PATCHVER
LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
endif
+ifdef KERNEL_TESTING_PATCHVER
+ LINUX_TESTING_VERSION:=$(KERNEL_TESTING_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_TESTING_PATCHVER)))
+endif
endif
split_version=$(subst ., ,$(1))
diff --git a/include/target.mk b/include/target.mk
index d24bb9cd11..4f3bd43e6c 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -225,6 +225,9 @@ ifeq ($(DUMP),1)
.SILENT: $(TMP_CONFIG)
.PRECIOUS: $(TMP_CONFIG)
+ ifdef KERNEL_TESTING_PATCHVER
+ FEATURES += testing-kernel
+ endif
ifneq ($(CONFIG_OF),)
FEATURES += dt
endif
@@ -283,6 +286,7 @@ define BuildTargets/DumpCurrent
echo 'Target-Optimization: $(if $(CFLAGS),$(CFLAGS),$(DEFAULT_CFLAGS))'; \
echo 'CPU-Type: $(CPU_TYPE)$(if $(CPU_SUBTYPE),+$(CPU_SUBTYPE))'; \
echo 'Linux-Version: $(LINUX_VERSION)'; \
+ $(if $(LINUX_TESTING_VERSION),echo 'Linux-Testing-Version: $(LINUX_TESTING_VERSION)';) \
echo 'Linux-Release: $(LINUX_RELEASE)'; \
echo 'Linux-Kernel-Arch: $(LINUX_KARCH)'; \
$(if $(SUBTARGET),,$(if $(DEFAULT_SUBTARGET), echo 'Default-Subtarget: $(DEFAULT_SUBTARGET)'; )) \
diff --git a/scripts/metadata.pm b/scripts/metadata.pm
index a338b8caad..d088332152 100644
--- a/scripts/metadata.pm
+++ b/scripts/metadata.pm
@@ -131,6 +131,7 @@ sub parse_target_metadata($) {
/^Target-Optimization:\s*(.+)\s*$/ and $target->{cflags} = $1;
/^CPU-Type:\s*(.+)\s*$/ and $target->{cputype} = $1;
/^Linux-Version:\s*(.+)\s*$/ and $target->{version} = $1;
+ /^Linux-Testing-Version:\s*(.+)\s*$/ and $target->{testing_version} = $1;
/^Linux-Release:\s*(.+)\s*$/ and $target->{release} = $1;
/^Linux-Kernel-Arch:\s*(.+)\s*$/ and $target->{karch} = $1;
/^Default-Subtarget:\s*(.+)\s*$/ and $target->{def_subtarget} = $1;
diff --git a/scripts/target-metadata.pl b/scripts/target-metadata.pl
index 123958799f..d183e943f6 100755
--- a/scripts/target-metadata.pl
+++ b/scripts/target-metadata.pl
@@ -42,6 +42,7 @@ sub target_config_features(@) {
/^virtio$/ and $ret .= "\tselect VIRTIO_SUPPORT\n";
/^rootfs-part$/ and $ret .= "\tselect USES_ROOTFS_PART\n";
/^boot-part$/ and $ret .= "\tselect USES_BOOT_PART\n";
+ /^testing-kernel$/ and $ret .= "\tselect HAS_TESTING_KERNEL\n";
}
return $ret;
}
@@ -83,11 +84,14 @@ sub print_target($) {
}
my $v = kver($target->{version});
+ my $tv = kver($target->{testing_version});
+ $tv or $tv = $v;
if (@{$target->{subtargets}} == 0) {
$confstr = <<EOF;
config TARGET_$target->{conf}
bool "$target->{name}"
- select LINUX_$v
+ select LINUX_$v if !TESTING_KERNEL
+ select LINUX_$tv if TESTING_KERNEL
EOF
}
else {
@@ -387,15 +391,18 @@ EOF
my %kver;
foreach my $target (@target) {
- my $v = kver($target->{version});
- next if $kver{$v};
- $kver{$v} = 1;
- print <<EOF;
+ foreach my $tv ($target->{version}, $target->{testing_version}) {
+ next unless $tv;
+ my $v = kver($tv);
+ next if $kver{$v};
+ $kver{$v} = 1;
+ print <<EOF;
config LINUX_$v
bool
EOF
+ }
}
foreach my $def (sort keys %defaults) {
print <<EOF;
diff --git a/target/Config.in b/target/Config.in
index 3cf4231f2a..3ee23ebf7f 100644
--- a/target/Config.in
+++ b/target/Config.in
@@ -2,6 +2,9 @@ source "tmp/.config-target.in"
# Kernel/Hardware features
+config HAS_TESTING_KERNEL
+ bool
+
config HAS_SPE_FPU
depends on powerpc
select HAS_FPU
diff --git a/target/linux/apm821xx/Makefile b/target/linux/apm821xx/Makefile
index c3253322f2..a67aee3b8c 100644
--- a/target/linux/apm821xx/Makefile
+++ b/target/linux/apm821xx/Makefile
@@ -14,6 +14,7 @@ MAINTAINER:=Chris Blake <chrisrblake93@gmail.com>, \
SUBTARGETS:=nand sata
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build images for AppliedMicro APM821xx based boards.
diff --git a/target/linux/ath79/Makefile b/target/linux/ath79/Makefile
index 82f6317ac6..0ccc0bed1c 100644
--- a/target/linux/ath79/Makefile
+++ b/target/linux/ath79/Makefile
@@ -9,6 +9,7 @@ SUBTARGETS:=generic nand tiny
FEATURES:=ramdisk
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/bcm53xx/Makefile b/target/linux/bcm53xx/Makefile
index 2af1c7e719..4171a04ee4 100644
--- a/target/linux/bcm53xx/Makefile
+++ b/target/linux/bcm53xx/Makefile
@@ -14,6 +14,7 @@ MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
CPU_TYPE:=cortex-a9
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build firmware images for Broadcom based BCM47xx/53xx routers with ARM CPU, *not* MIPS.
diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile
index af91d8bada..b991770e12 100644
--- a/target/linux/brcm47xx/Makefile
+++ b/target/linux/brcm47xx/Makefile
@@ -14,6 +14,7 @@ SUBTARGETS:=generic mips74k legacy
MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build firmware images for Broadcom based BCM47xx/53xx routers with MIPS CPU, *not* ARM.
diff --git a/target/linux/cns3xxx/Makefile b/target/linux/cns3xxx/Makefile
index abb1fccf32..785b06f596 100644
--- a/target/linux/cns3xxx/Makefile
+++ b/target/linux/cns3xxx/Makefile
@@ -15,6 +15,7 @@ CPU_SUBTYPE:=vfp
MAINTAINER:=Felix Fietkau <nbd@nbd.name>, \
Koen Vandeputte <koen.vandeputte@ncentric.com>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build images for Cavium Networks Econa CNS3xxx based boards,
diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile
index 304e515980..867e284714 100644
--- a/target/linux/gemini/Makefile
+++ b/target/linux/gemini/Makefile
@@ -14,6 +14,7 @@ CPU_TYPE:=fa526
MAINTAINER:=Roman Yeryomin <roman@advem.lv>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build firmware images for the StorLink/Cortina Gemini CS351x ARM FA526 CPU
diff --git a/target/linux/imx6/Makefile b/target/linux/imx6/Makefile
index 49e4487026..457e767c05 100644
--- a/target/linux/imx6/Makefile
+++ b/target/linux/imx6/Makefile
@@ -15,6 +15,7 @@ CPU_SUBTYPE:=neon
MAINTAINER:=Luka Perkov <luka@openwrt.org>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/ipq40xx/Makefile b/target/linux/ipq40xx/Makefile
index ab7b174e40..2785b73ed1 100644
--- a/target/linux/ipq40xx/Makefile
+++ b/target/linux/ipq40xx/Makefile
@@ -10,6 +10,7 @@ MAINTAINER:=John Crispin <john@phrozen.org>
# TODO: drop kmod-usb-dwc3-of-simple when migrating to 4.19
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
KERNELNAME:=zImage Image dtbs
diff --git a/target/linux/kirkwood/Makefile b/target/linux/kirkwood/Makefile
index 3eac246a42..adc7a496e1 100644
--- a/target/linux/kirkwood/Makefile
+++ b/target/linux/kirkwood/Makefile
@@ -14,6 +14,7 @@ CPU_TYPE:=xscale
MAINTAINER:=Luka Perkov <luka@openwrt.org>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/mpc85xx/Makefile b/target/linux/mpc85xx/Makefile
index e08b00ab8e..9db478d87b 100644
--- a/target/linux/mpc85xx/Makefile
+++ b/target/linux/mpc85xx/Makefile
@@ -15,6 +15,7 @@ MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>
SUBTARGETS:=generic p1020 p2020
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
KERNELNAME:=zImage
diff --git a/target/linux/octeon/Makefile b/target/linux/octeon/Makefile
index 6c0623cb9b..202ed39be7 100644
--- a/target/linux/octeon/Makefile
+++ b/target/linux/octeon/Makefile
@@ -14,6 +14,7 @@ CPU_TYPE:=octeonplus
MAINTAINER:=John Crispin <john@phrozen.org>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
define Target/Description
Build firmware images for Cavium Networks Octeon-based boards.
diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile
index 8d09d4e939..aae7df1b44 100644
--- a/target/linux/sunxi/Makefile
+++ b/target/linux/sunxi/Makefile
@@ -15,6 +15,7 @@ SUBTARGETS:=cortexa8 cortexa7 cortexa53
MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER := 4.19
KERNELNAME:=zImage dtbs
# A10: Cortex-A8
diff --git a/target/linux/tegra/Makefile b/target/linux/tegra/Makefile
index 57cb902cfd..8a611e29ab 100644
--- a/target/linux/tegra/Makefile
+++ b/target/linux/tegra/Makefile
@@ -15,6 +15,7 @@ CPU_SUBTYPE := vfpv3
MAINTAINER := Tomasz Maciej Nowak <tomek_n@o2.pl>
KERNEL_PATCHVER := 4.14
+KERNEL_TESTING_PATCHVER := 4.19
include $(INCLUDE_DIR)/target.mk
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index 533c0e5248..509ccb47a2 100644
--- a/target/linux/x86/Makefile
+++ b/target/linux/x86/Makefile
@@ -14,6 +14,7 @@ SUBTARGETS:=generic legacy geode 64
MAINTAINER:=Felix Fietkau <nbd@nbd.name>
KERNEL_PATCHVER:=4.14
+KERNEL_TESTING_PATCHVER:=4.19
KERNELNAME:=bzImage