ipq806x: convert TP-Link Archer VR2600v to denx,uimage
authorChristian Lamparter <chunkeey@gmail.com>
Sun, 6 Feb 2022 13:24:32 +0000 (14:24 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 6 Feb 2022 16:11:20 +0000 (17:11 +0100)
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>
target/linux/ipq806x/base-files/lib/upgrade/platform.sh
target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-vr2600v.dts
target/linux/ipq806x/image/generic.mk

index 3d96457dbdf696737c6664736e66387129420376..84ffcd8a150867ed70a60c7080ce58da4a0239a2 100644 (file)
@@ -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"
                ;;
index 3aec8568236f3f9e88d8cd73450b9f241fc5a213..23fe3c9f787e1ec30fa7bdbd0a7910248838d0bb 100644 (file)
                                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";
index 524eb98226d68af71e00bcc25d2db47bddff0cda..4fdf656b4be218ebcbaa87fa1776adbf84871621 100644 (file)
@@ -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