diff options
author | Felix Fietkau <nbd@nbd.name> | 2019-04-27 19:13:07 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2019-05-11 11:37:10 +0200 |
commit | 85017c40f4efce11edd77e0caac14aed0fd690eb (patch) | |
tree | 016be4bb6f80dcc9ef001a1c95424b8f3fba4cea | |
parent | 9cb3a3255e024183a2e179fe6621cd11fa6b8670 (diff) | |
download | upstream-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.in | 9 | ||||
-rw-r--r-- | include/kernel-version.mk | 7 | ||||
-rw-r--r-- | include/target.mk | 4 | ||||
-rw-r--r-- | scripts/metadata.pm | 1 | ||||
-rwxr-xr-x | scripts/target-metadata.pl | 17 | ||||
-rw-r--r-- | target/Config.in | 3 | ||||
-rw-r--r-- | target/linux/apm821xx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/ath79/Makefile | 1 | ||||
-rw-r--r-- | target/linux/bcm53xx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/brcm47xx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/cns3xxx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/gemini/Makefile | 1 | ||||
-rw-r--r-- | target/linux/imx6/Makefile | 1 | ||||
-rw-r--r-- | target/linux/ipq40xx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/kirkwood/Makefile | 1 | ||||
-rw-r--r-- | target/linux/mpc85xx/Makefile | 1 | ||||
-rw-r--r-- | target/linux/octeon/Makefile | 1 | ||||
-rw-r--r-- | target/linux/sunxi/Makefile | 1 | ||||
-rw-r--r-- | target/linux/tegra/Makefile | 1 | ||||
-rw-r--r-- | target/linux/x86/Makefile | 1 |
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 |