From ec32c4ef01055228de9412fc8bf4a3e80929c88d Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Thu, 24 Feb 2022 18:31:48 +0200 Subject: [PATCH] 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 (squashed, added 4MiB notice of support in ipq806x) Signed-off-by: Christian Lamparter --- .../etc/uci-defaults/05_fix-compat-version | 11 +++++++++++ .../arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi | 10 +++++----- target/linux/ipq806x/image/generic.mk | 15 +++++++++++---- 3 files changed, 27 insertions(+), 9 deletions(-) create mode 100644 target/linux/ipq806x/base-files/etc/uci-defaults/05_fix-compat-version 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.@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@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 { @@ -146,9 +146,9 @@ reg = <0x3780000 0x2800000>; }; - partition@3a80000 { + partition@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 -- 2.30.2