[openwrt/openwrt] ipq806x: Increase kernel size to 4 MB for EA8500/EA7500v1

LEDE Commits lede-commits at lists.infradead.org
Sat Feb 26 11:12:29 PST 2022


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/ec32c4ef01055228de9412fc8bf4a3e80929c88d

commit ec32c4ef01055228de9412fc8bf4a3e80929c88d
Author: Hannu Nyman <hannu.nyman at iki.fi>
AuthorDate: Thu Feb 24 18:31:48 2022 +0200

    ipq806x: Increase kernel size to 4 MB for EA8500/EA7500v1
    
    Increase the kernel size from 3 MB to 4 MB for EA8500 and EA7500v1.
    * modify the common .dtsi
    * modify the kernel size in the image recipes
    
    Define compat-version 2.0 to force factory image usage for sysupgrade.
    Add explanation message. Reenable both devices.
    
    As for 4MiB (and not more): Hannu Nyman noted that:
    "We have lots of ipq806x devices with 4 MB kernel, so will
    need action at that point in future in any case.
    (Assuming that the bootloader did not have a 4 MB limit that
    has been tested...)"
    
    Signed-off-by: Hannu Nyman <hannu.nyman at iki.fi>
    (squashed, added 4MiB notice of support in ipq806x)
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 .../base-files/etc/uci-defaults/05_fix-compat-version     | 11 +++++++++++
 .../files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi      | 10 +++++-----
 target/linux/ipq806x/image/generic.mk                     | 15 +++++++++++----
 3 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version b/target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version
new file mode 100644
index 0000000000..3b9dd4e028
--- /dev/null
+++ b/target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version
@@ -0,0 +1,11 @@
+. /lib/functions.sh
+
+case "$(board_name)" in
+	linksys,ea7500-v1|\
+	linksys,ea8500)
+		uci set system. at system[0].compat_version="2.0"
+		uci commit system
+	;;
+esac
+
+exit 0
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
index 98c4b2d29d..955ad97e3a 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
@@ -133,12 +133,12 @@
 
 			partition at f80000 {
 				label = "kernel1";
-				reg = <0x0f80000 0x2800000>;  /* 3 MB spill to rootfs */
+				reg = <0x0f80000 0x2800000>;  /* 4 MB, spill to rootfs */
 			};
 
-			partition at 1280000 {
+			partition at 1380000 {
 				label = "rootfs1";
-				reg = <0x1280000 0x2500000>;
+				reg = <0x1380000 0x2400000>;
 			};
 
 			partition at 3780000 {
@@ -146,9 +146,9 @@
 				reg = <0x3780000 0x2800000>;
 			};
 
-			partition at 3a80000 {
+			partition at 3b80000 {
 				label = "rootfs2";
-				reg = <0x3a80000 0x2500000>;
+				reg = <0x3b80000 0x2400000>;
 			};
 		};
 	};
diff --git a/target/linux/ipq806x/image/generic.mk b/target/linux/ipq806x/image/generic.mk
index 9e733d921a..11592ad97e 100644
--- a/target/linux/ipq806x/image/generic.mk
+++ b/target/linux/ipq806x/image/generic.mk
@@ -1,6 +1,13 @@
 DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID
 DEVICE_VARS += TPLINK_BOARD_ID
 
+define Device/kernel-size-migration
+  DEVICE_COMPAT_VERSION := 2.0
+  DEVICE_COMPAT_MESSAGE := *** Kernel partition size has changed from earlier \
+	versions. You need to sysupgrade with the OpenWrt factory image and \
+	use the force flag when image check fails. Settings will be lost. ***
+endef
+
 define Build/buffalo-rootfs-cksum
 	( \
 		echo -ne "\x$$(od -A n -t u1 $@ | tr -s ' ' '\n' | \
@@ -128,13 +135,14 @@ TARGET_DEVICES += edgecore_ecw5410
 
 define Device/linksys_ea7500-v1
 	$(call Device/LegacyImage)
+	$(Device/kernel-size-migration)
 	DEVICE_VENDOR := Linksys
 	DEVICE_MODEL := EA7500
 	DEVICE_VARIANT := v1
 	SOC := qcom-ipq8064
 	PAGESIZE := 2048
 	BLOCKSIZE := 128k
-	KERNEL_SIZE := 3072k
+	KERNEL_SIZE := 4096k
 	KERNEL = kernel-bin | append-dtb | uImage none | \
 		append-uImage-fakehdr filesystem
 	UBINIZE_OPTS := -E 5
@@ -142,18 +150,18 @@ define Device/linksys_ea7500-v1
 	IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
 		append-ubi | pad-to $$$$(PAGESIZE)
 	DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
-	DEFAULT := n
 endef
 TARGET_DEVICES += linksys_ea7500-v1
 
 define Device/linksys_ea8500
 	$(call Device/LegacyImage)
+	$(Device/kernel-size-migration)
 	DEVICE_VENDOR := Linksys
 	DEVICE_MODEL := EA8500
 	SOC := qcom-ipq8064
 	PAGESIZE := 2048
 	BLOCKSIZE := 128k
-	KERNEL_SIZE := 3072k
+	KERNEL_SIZE := 4096k
 	KERNEL = kernel-bin | append-dtb | uImage none | \
 		append-uImage-fakehdr filesystem
 	BOARD_NAME := ea8500
@@ -163,7 +171,6 @@ define Device/linksys_ea8500
 	IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | \
 		append-ubi
 	DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
-	DEFAULT := n
 endef
 TARGET_DEVICES += linksys_ea8500
 



More information about the lede-commits mailing list