aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorChristian Lamparter <chunkeey@gmail.com>2022-02-06 14:24:32 +0100
committerChristian Lamparter <chunkeey@gmail.com>2022-02-06 17:11:20 +0100
commitf6a01d7f5c3d945f031cf24ab66066806dd62db3 (patch)
tree455e49ed770e1306eefe9a9c8c97bfd75263415b /target/linux
parent4d904524effc9eb0cc5094574c55d3a520803223 (diff)
downloadupstream-f6a01d7f5c3d945f031cf24ab66066806dd62db3.tar.gz
upstream-f6a01d7f5c3d945f031cf24ab66066806dd62db3.tar.bz2
upstream-f6a01d7f5c3d945f031cf24ab66066806dd62db3.zip
ipq806x: convert TP-Link Archer VR2600v to denx,uimage
The recent device-tree modification that added pre-cal nvmem-cells pushed the device's kernel+dtb over the allotted 3072k KERNEL_SIZE. > WARNING: Image file tplink_vr2600v-uImage is too big: 3147214 > 3145728 There was a previous kernel partition size upgrade: commit 0c967d92b3d9 ("ipq806x: increase kernel partition size for the TP-Link Archer VR2600v") It has been seemingly upgraded from a 2048k KERNEL_SIZE in the past. The commit talks about using the MTD_SPLIT_TPLINK_FW. But looking at the image make recipe, there is no code that adds a TPLINK header. So instead the board will use "denx,umimage". This requires MTD_SPLIT_UIMAGE_FW, but this is present thanks to some NEC devices. (Maybe the MTD_CONFIG_ARGS can be removed as well? But it could be there because of the padding at the beginning. This needs testing.) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ipq806x/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts12
-rw-r--r--target/linux/ipq806x/image/generic.mk5
3 files changed, 7 insertions, 11 deletions
diff --git a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
index 3d96457dbd..84ffcd8a15 100644
--- a/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ipq806x/base-files/lib/upgrade/platform.sh
@@ -57,7 +57,6 @@ platform_do_upgrade() {
default_do_upgrade "$1"
;;
tplink,vr2600v)
- PART_NAME="kernel:rootfs"
MTD_CONFIG_ARGS="-s 0x200000"
default_do_upgrade "$1"
;;
diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
index 3aec856823..23fe3c9f78 100644
--- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
+++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
@@ -249,15 +249,13 @@
read-only;
};
- kernel@320000 {
- label = "kernel";
- reg = <0x320000 0x300000>;
+ partition@320000 {
+ label = "firmware";
+ reg = <0x320000 0xc60000>;
+ compatible = "denx,uimage";
};
- rootfs@620000 {
- label = "rootfs";
- reg = <0x620000 0x960000>;
- };
+ /* hole 0xf80000 - 0xfaf100 */
defaultmac: default-mac@0xfaf100 {
label = "default-mac";
diff --git a/target/linux/ipq806x/image/generic.mk b/target/linux/ipq806x/image/generic.mk
index 524eb98226..4fdf656b4b 100644
--- a/target/linux/ipq806x/image/generic.mk
+++ b/target/linux/ipq806x/image/generic.mk
@@ -408,7 +408,7 @@ define Device/tplink_vr2600v
KERNEL_SUFFIX := -uImage
KERNEL = kernel-bin | append-dtb | uImage none
KERNEL_NAME := zImage
- KERNEL_SIZE := 3072k
+ IMAGE_SIZE := 12672k
SOC := qcom-ipq8064
BLOCKSIZE := 128k
PAGESIZE := 2048
@@ -416,8 +416,7 @@ define Device/tplink_vr2600v
SUPPORTED_DEVICES += vr2600v
DEVICE_PACKAGES := ath10k-firmware-qca99x0-ct
IMAGE/sysupgrade.bin := pad-extra 512 | append-kernel | \
- pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | \
- append-metadata
+ append-rootfs | pad-rootfs | append-metadata
endef
TARGET_DEVICES += tplink_vr2600v