From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Date: Fri, 18 May 2018 01:49:27 +0000 (+0200)
Subject: ipq806x: increase kernel partition size for the Netgear Nighthawk X4 D7800
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=45b8a7c1a6415125f4fe872ec83b3d31a2fa799b;p=openwrt%2Fstaging%2Fldir.git

ipq806x: increase kernel partition size for the Netgear Nighthawk X4 D7800

Starting with kernel 4.14 and gcc 7, the kernel doesn't fit into the
2 MB reserved for the kernel partition by the OEM firmware anymore.

This patch increases the kernel partition from 2 MB to 4 MB, at the
expense of the rootfs, for all supported kernels.

WARNING: This breaks sysupgrade! Flashing a firmware containing this
changed partitioning from an older image with 2 MB reserved for the
kernel partion requires the tftp recovery procedure, thereby losing
all settings.

This change follows the functional example of the Netgear r7800, but
has not been runtime tested on a Netgear Nighthawk X4 D7800.

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: Tathagata Das <tathagata@alumnux.com>
---

diff --git a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
index b7c49cc816..e22a9292a3 100644
--- a/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
+++ b/target/linux/ipq806x/files-4.14/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
@@ -250,12 +250,12 @@
 
 					kernel@1480000 {
 						label = "kernel";
-						reg = <0x1480000 0x0200000>;
+						reg = <0x1480000 0x0400000>;
 					};
 
-					ubi@1680000 {
+					ubi@1880000 {
 						label = "ubi";
-						reg = <0x1680000 0x1E00000>;
+						reg = <0x1880000 0x1C00000>;
 					};
 
 					netgear@3480000 {
diff --git a/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
index b7c49cc816..e22a9292a3 100644
--- a/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
+++ b/target/linux/ipq806x/files-4.9/arch/arm/boot/dts/qcom-ipq8064-d7800.dts
@@ -250,12 +250,12 @@
 
 					kernel@1480000 {
 						label = "kernel";
-						reg = <0x1480000 0x0200000>;
+						reg = <0x1480000 0x0400000>;
 					};
 
-					ubi@1680000 {
+					ubi@1880000 {
 						label = "ubi";
-						reg = <0x1680000 0x1E00000>;
+						reg = <0x1880000 0x1C00000>;
 					};
 
 					netgear@3480000 {
diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile
index 8b302b658d..496564de38 100644
--- a/target/linux/ipq806x/image/Makefile
+++ b/target/linux/ipq806x/image/Makefile
@@ -104,7 +104,7 @@ TARGET_DEVICES += linksys_ea8500
 define Device/netgear_d7800
 	$(call Device/DniImage)
 	DEVICE_DTS := qcom-ipq8064-d7800
-	KERNEL_SIZE := 2097152
+	KERNEL_SIZE := 4194304
 	NETGEAR_BOARD_ID := D7800
 	NETGEAR_HW_ID := 29764958+0+128+512+4x4+4x4
 	BLOCKSIZE := 128k