ar71xx: switch more targets to dynamic partitioning
authorKoen Vandeputte <koen.vandeputte@ncentric.com>
Wed, 24 Oct 2018 12:49:07 +0000 (14:49 +0200)
committerKoen Vandeputte <koen.vandeputte@ncentric.com>
Mon, 29 Oct 2018 10:21:23 +0000 (11:21 +0100)
Targets:
- TP-LINK ER355
- TP-LINK C25 V1
- TP-LINK C59 V1
- TP-LINK C7 V4
- TP-LINK C7 V5

Fixes build issues seen due to the kernel being too big

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
target/linux/ar71xx/image/generic-tp-link.mk
tools/firmware-utils/src/tplink-safeloader.c

index 5036e85a019689366a17743da60ffc09040edce9..08cc444a4947ce0fc089fa42585cc4b608e02fe4 100644 (file)
@@ -14,7 +14,7 @@ define Device/archer-c25-v1
   TPLINK_BOARD_ID := ARCHER-C25-V1
   DEVICE_PROFILE := ARCHERC25V1
   IMAGE_SIZE := 7808k
-  MTDPARTS := spi0.0:128k(factory-uboot)ro,64k(u-boot)ro,1536k(kernel),6272k(rootfs),128k(config)ro,64k(art)ro,7808k@0x30000(firmware)
+  MTDPARTS := spi0.0:128k(factory-uboot)ro,64k(u-boot)ro,7808k(firmware),128k(config)ro,64k(art)ro
   SUPPORTED_DEVICES := archer-c25-v1
 endef
 TARGET_DEVICES += archer-c25-v1
@@ -40,7 +40,7 @@ define Device/archer-c59-v1
   TPLINK_BOARD_ID := ARCHER-C59-V1
   DEVICE_PROFILE := ARCHERC59V1
   IMAGE_SIZE := 14528k
-  MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,1536k(kernel),12992k(rootfs),1664k(tplink)ro,64k(art)ro,14528k@0x20000(firmware)
+  MTDPARTS := spi0.0:64k(u-boot)ro,64k(mac)ro,14528k(firmware),1664k(tplink)ro,64k(art)ro
   SUPPORTED_DEVICES := archer-c59-v1
 endef
 TARGET_DEVICES += archer-c59-v1
@@ -143,7 +143,7 @@ define Device/archer-c7-v4
   BOARDNAME := ARCHER-C7-V4
   TPLINK_BOARD_ID := ARCHER-C7-V4
   IMAGE_SIZE := 15104k
-  MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,1536k(kernel),13568k(rootfs),960k(config)ro,64k(art)ro,15104k@0x40000(firmware)
+  MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,15104k(firmware),960k(config)ro,64k(art)ro
   SUPPORTED_DEVICES := archer-c7-v4
 endef
 TARGET_DEVICES += archer-c7-v4
@@ -153,8 +153,8 @@ define Device/archer-c7-v5
   DEVICE_TITLE := TP-LINK Archer C7 v5
   BOARDNAME := ARCHER-C7-V5
   TPLINK_BOARD_ID := ARCHER-C7-V5
-  IMAGE_SIZE := 15104k
-  MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,64k@0x50000(art)ro,1536k@0xc0000(kernel),13824k(rootfs),15360k@0xc0000(firmware)
+  IMAGE_SIZE := 15360k
+  MTDPARTS := spi0.0:128k(factory-uboot)ro,128k(u-boot)ro,64k@0x50000(art)ro,15360k@0xc0000(firmware)
   SUPPORTED_DEVICES := archer-c7-v5
 endef
 TARGET_DEVICES += archer-c7-v5
@@ -240,6 +240,8 @@ define Device/re355-v1
   DEVICE_PROFILE := RE355
   TPLINK_HWID := 0x0
   TPLINK_HWREV := 0
+  KERNEL := kernel-bin | patch-cmdline | lzma | tplink-v1-header -O
+  KERNEL_INITRAMFS := kernel-bin | patch-cmdline | lzma | tplink-v1-header
 endef
 TARGET_DEVICES += re355-v1
 
index 7f8a5d22ad6975d4f0c68f23ba3c556df3a7f0d8..0ff00e463cafacba7bd1263f2e405e6674a1de2c 100644 (file)
@@ -368,16 +368,12 @@ static struct device_info boards[] = {
                .support_trail = '\x00',
                .soft_ver = "soft_ver:1.0.0\n",
 
-               /**
-                   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
-                   1MB os-image.
-               */
+               /* We're using a dynamic kernel/rootfs split here */
                .partitions = {
                        {"factory-boot", 0x00000, 0x20000},
                        {"fs-uboot", 0x20000, 0x10000},
-                       {"os-image", 0x30000, 0x180000},        /* Stock: base 0x30000 size 0x100000 */
-                       {"file-system", 0x1b0000, 0x620000},    /* Stock: base 0x130000 size 0x6a0000 */
+                       {"firmware", 0x30000, 0x7a0000},        /* Stock: name os-image base 0x30000 size 0x100000 */
+                                                               /* Stock: name file-system base 0x130000 size 0x6a0000 */
                        {"user-config", 0x7d0000, 0x04000},
                        {"default-mac", 0x7e0000, 0x00100},
                        {"device-id", 0x7e0100, 0x00100},
@@ -447,14 +443,14 @@ static struct device_info boards[] = {
                .support_trail = '\x00',
                .soft_ver = "soft_ver:1.0.0\n",
 
+               /* We're using a dynamic kernel/rootfs split here */
                .partitions = {
                        {"fs-uboot", 0x00000, 0x10000},
                        {"default-mac", 0x10000, 0x00200},
                        {"pin", 0x10200, 0x00200},
                        {"device-id", 0x10400, 0x00100},
                        {"product-info", 0x10500, 0x0fb00},
-                       {"os-image", 0x20000, 0x180000},
-                       {"file-system", 0x1a0000, 0xcb0000},
+                       {"firmware", 0x20000, 0xe30000},
                        {"partition-table", 0xe50000, 0x10000},
                        {"soft-version", 0xe60000, 0x10000},
                        {"support-list", 0xe70000, 0x10000},
@@ -638,16 +634,12 @@ static struct device_info boards[] = {
                .support_trail = '\x00',
                .soft_ver = "soft_ver:1.0.0\n",
 
-               /**
-                   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
-                   1MB os-image.
-               */
+               /* We're using a dynamic kernel/rootfs split here */
                .partitions = {
                        {"factory-boot", 0x00000, 0x20000},
                        {"fs-uboot", 0x20000, 0x20000},
-                       {"os-image", 0x40000, 0x180000},        /* Stock: base 0x40000 size 0x120000 */
-                       {"file-system", 0x1c0000, 0xd40000},    /* Stock: base 0x160000 size 0xda0000 */
+                       {"firmware", 0x40000, 0xEC0000},        /* Stock: name os-image base 0x40000 size 0x120000 */
+                                                               /* Stock: name file-system base 0x160000 size 0xda0000 */
                        {"default-mac", 0xf00000, 0x00200},
                        {"pin", 0xf00200, 0x00200},
                        {"device-id", 0xf00400, 0x00100},
@@ -681,11 +673,7 @@ static struct device_info boards[] = {
                .support_trail = '\x00',
                .soft_ver = "soft_ver:1.0.0\n",
 
-               /**
-                 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
-                 1MB os-image.
-                 */
+               /* We're using a dynamic kernel/rootfs split here */
                .partitions = {
                        {"factory-boot",    0x00000,  0x20000},
                        {"fs-uboot",        0x20000,  0x20000},
@@ -702,8 +690,8 @@ static struct device_info boards[] = {
                        {"user-config",     0x80000,  0x40000},
 
 
-                       {"os-image",        0xc0000,  0x180000}, /* Stock: base 0xc0000  size 0x120000 */
-                       {"file-system",     0x240000, 0xd80000}, /* Stock: base 0x1e0000 size 0xde0000 */
+                       {"firmware",        0xc0000,  0xf00000},        /* Stock: name os-image base 0xc0000  size 0x120000 */
+                                                                       /* Stock: name file-system base 0x1e0000 size 0xde0000 */
 
                        {"log",             0xfc0000, 0x20000},
                        {"certificate",     0xfe0000, 0x10000},
@@ -1060,15 +1048,10 @@ static struct device_info boards[] = {
                .support_trail = '\x00',
                .soft_ver = NULL,
 
-               /**
-                  The flash partition table for RE355;
-                  it is almost the same as the one used by the stock images,
-                  576KB were moved from file-system to os-image.
-               */
+               /* We're using a dynamic kernel/rootfs split here */
                .partitions = {
                        {"fs-uboot", 0x00000, 0x20000},
-                       {"os-image", 0x20000, 0x180000},
-                       {"file-system", 0x1a0000, 0x460000},
+                       {"firmware", 0x20000, 0x5e0000},
                        {"partition-table", 0x600000, 0x02000},
                        {"default-mac", 0x610000, 0x00020},
                        {"pin", 0x610100, 0x00020},