From 742ac017baaa7de2fde04bf6cdd39c0e9e5f92e0 Mon Sep 17 00:00:00 2001 From: Stefan Lippers-Hollmann Date: Fri, 18 May 2018 03:10:18 +0200 Subject: [PATCH] ipq806x: increase kernel partition size for the TP-Link Archer C2600 The default image does not fit 2 MB anymore, expand os-image partition to 4 MB. Upgrading works transparently via sysupgrade in both directions. Another option would have been to merge "os-image" and "rootfs" into a single "firmware" partition using MTD_SPLIT_TPLINK_FW, but just changing the sizes of the existing partitioning has been deemed safer and actually tested on an affected device; the maximum for rootfs changes from 27 MB to 25 MB. Run-tested on TP-Link Archer C2600. Signed-off-by: Joris de Vries [slh: extend comments and commit message, rename rootfs] Signed-off-by: Stefan Lippers-Hollmann (cherry picked from commit b72b36653a3fc8347456ab9c45d26a3144688a4c) --- .../files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts | 6 +++--- tools/firmware-utils/src/tplink-safeloader.c | 9 +++++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts index a4fd13429c..02b1e7b1c9 100644 --- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts +++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-c2600.dts @@ -231,12 +231,12 @@ os-image@1f0000 { label = "os-image"; - reg = <0x1f0000 0x200000>; + reg = <0x1f0000 0x400000>; }; - rootfs@3f0000 { + rootfs@5f0000 { label = "rootfs"; - reg = <0x3f0000 0x1b00000>; + reg = <0x5f0000 0x1900000>; }; defaultmac: default-mac@1ef0000 { diff --git a/tools/firmware-utils/src/tplink-safeloader.c b/tools/firmware-utils/src/tplink-safeloader.c index 53205353b7..22bbc17d07 100644 --- a/tools/firmware-utils/src/tplink-safeloader.c +++ b/tools/firmware-utils/src/tplink-safeloader.c @@ -267,6 +267,11 @@ static struct device_info boards[] = { .support_trail = '\x00', .soft_ver = NULL, + /** + We use a bigger os-image partition than the stock images (and thus + smaller file-system), as our kernel doesn't fit in the stock firmware's + 2 MB os-image since kernel 4.14. + */ .partitions = { {"SBL1", 0x00000, 0x20000}, {"MIBIB", 0x20000, 0x20000}, @@ -279,8 +284,8 @@ static struct device_info boards[] = { {"fs-uboot", 0x100000, 0x70000}, {"uboot-env", 0x170000, 0x40000}, {"radio", 0x1b0000, 0x40000}, - {"os-image", 0x1f0000, 0x200000}, - {"file-system", 0x3f0000, 0x1b00000}, + {"os-image", 0x1f0000, 0x400000}, /* Stock: base 0x1f0000 size 0x200000 */ + {"file-system", 0x5f0000, 0x1900000}, /* Stock: base 0x3f0000 size 0x1b00000 */ {"default-mac", 0x1ef0000, 0x00200}, {"pin", 0x1ef0200, 0x00200}, {"product-info", 0x1ef0400, 0x0fc00}, -- 2.30.2