[openwrt/openwrt] realtek: merge Zyxel GS1900 firmware partitions

LEDE Commits lede-commits at lists.infradead.org
Sun Dec 22 02:10:39 PST 2024


svanheule pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/35acdbe9095d81e896a2dfa65e7df871a023b996

commit 35acdbe9095d81e896a2dfa65e7df871a023b996
Author: Sander Vanheule <sander at svanheule.net>
AuthorDate: Sat Sep 21 15:09:34 2024 +0200

    realtek: merge Zyxel GS1900 firmware partitions
    
    The dual-boot partition layout for the Zyxel GS1900 switches results in
    6.9MB for both kernel and rootfs. Depending on the package selection,
    this may already leave no space for the user overlay.
    
    Merge the two firmware partitions, effectively dropping dual boot
    support with OpenWrt. This results in a firmware partition of 13.9MB,
    which should leave some room for the future.
    
    To maintain install capabilites on new devices, an image is required
    that still fits inside the original partition. The initramfs is used as
    factory install image, so ensure this meets the old size constraints.
    The factory image can be flashed via the same procedure as vendor images
    when reverting to stock, can be installed from stock, or can be launched
    via tftpboot.
    
    Link: https://github.com/openwrt/openwrt/issues/16439
    Link: https://github.com/openwrt/openwrt/pull/16442
    Tested-by: Stijn Segers <foss at volatilesystems.org>
    Signed-off-by: Sander Vanheule <sander at svanheule.net>
---
 target/linux/realtek/dts/rtl8380_zyxel_gs1900.dtsi   | 6 +-----
 target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts | 6 +-----
 target/linux/realtek/image/common.mk                 | 8 ++++++--
 3 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/target/linux/realtek/dts/rtl8380_zyxel_gs1900.dtsi b/target/linux/realtek/dts/rtl8380_zyxel_gs1900.dtsi
index 5993c1b798..b985c4bc8e 100644
--- a/target/linux/realtek/dts/rtl8380_zyxel_gs1900.dtsi
+++ b/target/linux/realtek/dts/rtl8380_zyxel_gs1900.dtsi
@@ -91,14 +91,10 @@
 			};
 			partition at b260000 {
 				label = "firmware";
-				reg = <0x260000 0x6d0000>;
+				reg = <0x260000 0xda0000>;
 				compatible = "openwrt,uimage", "denx,uimage";
 				openwrt,ih-magic = <0x83800000>;
 			};
-			partition at 930000 {
-				label = "runtime2";
-				reg = <0x930000 0x6d0000>;
-			};
 		};
 	};
 };
diff --git a/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
index f049274889..9844dc2180 100644
--- a/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
+++ b/target/linux/realtek/dts/rtl8393_zyxel_gs1900-48.dts
@@ -126,14 +126,10 @@
 			};
 			partition at 260000 {
 				label = "firmware";
-				reg = <0x260000 0x6d0000>;
+				reg = <0x260000 0xda0000>;
 				compatible = "openwrt,uimage", "denx,uimage";
 				openwrt,ih-magic = <0x83800000>;
 			};
-			partition at 930000 {
-				label = "runtime2";
-				reg = <0x930000 0x6d0000>;
-			};
 		};
 	};
 };
diff --git a/target/linux/realtek/image/common.mk b/target/linux/realtek/image/common.mk
index 27fcea86ec..d9647dbc07 100644
--- a/target/linux/realtek/image/common.mk
+++ b/target/linux/realtek/image/common.mk
@@ -57,13 +57,17 @@ define Device/hpe_1920
 endef
 
 define Device/zyxel_gs1900
+  DEVICE_COMPAT_VERSION := 2.0
+  DEVICE_COMPAT_MESSAGE := Dual firmware paritition merged due to size constraints. \
+	Upgrade requires a new factory install. Regular sysupgrade is not possible.
   DEVICE_VENDOR := Zyxel
-  IMAGE_SIZE := 6976k
+  IMAGE_SIZE := 13952k
   UIMAGE_MAGIC := 0x83800000
   KERNEL_INITRAMFS := \
 	kernel-bin | \
 	append-dtb | \
 	libdeflate-gzip | \
 	zyxel-vers | \
-	uImage gzip
+	uImage gzip | \
+	check-size 6976k
 endef




More information about the lede-commits mailing list