ipq806x: Increase kernel size to 4 MB for EA8500/EA7500v1
authorHannu Nyman <hannu.nyman@iki.fi>
Thu, 24 Feb 2022 16:31:48 +0000 (18:31 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sat, 26 Feb 2022 18:52:06 +0000 (19:52 +0100)
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@iki.fi>
(squashed, added 4MiB notice of support in ipq806x)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version [new file with mode: 0644]
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi
target/linux/ipq806x/image/generic.mk

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 (file)
index 0000000..3b9dd4e
--- /dev/null
@@ -0,0 +1,11 @@
+. /lib/functions.sh
+
+case "$(board_name)" in
+       linksys,ea7500-v1|\
+       linksys,ea8500)
+               uci set system.@system[0].compat_version="2.0"
+               uci commit system
+       ;;
+esac
+
+exit 0
index 98c4b2d29d8b130d2334fbb1a0fb381918dbbef4..955ad97e3a85d91169bc7ee148a7f57c518dd668 100644 (file)
 
                        partition@f80000 {
                                label = "kernel1";
-                               reg = <0x0f80000 0x2800000>;  /* 3 MB spill to rootfs */
+                               reg = <0x0f80000 0x2800000>;  /* 4 MB, spill to rootfs */
                        };
 
-                       partition@1280000 {
+                       partition@1380000 {
                                label = "rootfs1";
-                               reg = <0x1280000 0x2500000>;
+                               reg = <0x1380000 0x2400000>;
                        };
 
                        partition@3780000 {
                                reg = <0x3780000 0x2800000>;
                        };
 
-                       partition@3a80000 {
+                       partition@3b80000 {
                                label = "rootfs2";
-                               reg = <0x3a80000 0x2500000>;
+                               reg = <0x3b80000 0x2400000>;
                        };
                };
        };
index 9e733d921adfdebed20274fa51409b324a048dbc..11592ad97e4131e07e48c0e6fe83ccdde0bdfc2e 100644 (file)
@@ -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