--- /dev/null
+# use default "image" for PART_NAME
+# use default for platform_do_upgrade()
+
+platform_check_image() {
+ [ "${ARGC}" -gt 1 ] && { echo 'Too many arguments. Only flash file expected.'; return 1; }
+
+ local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
+ local magic="$(get_magic_word "$1")"
+
+ case "${hardware}" in
+ # hardware with padded uImage + padded rootfs
+ 'Netgear WNR854T' | 'Linksys WRT350N v2')
+ [ "${magic}" != '2705' ] && {
+ echo "Invalid image type ${magic}."
+ return 1
+ }
+ return 0
+ ;;
+ esac
+
+ echo "Sysupgrade is not yet supported on ${hardware}."
+ return 1
+}
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
-@@ -58,19 +58,11 @@ static struct mtd_partition wrt350n_v2_n
+@@ -58,11 +58,11 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions
{
.name = "kernel",
.offset = 0x00000000,
- .size = 0x00760000,
-+ .size = 0x00100000,
++ .size = 0x00100000, // change to kernel mtd size here (1/3)
}, {
.name = "rootfs",
- .offset = 0x001a0000,
++ .offset = 0x00100000, // change to kernel mtd size here (2/3)
- .size = 0x005c0000,
-- }, {
-- .name = "lang",
-- .offset = 0x00760000,
-- .size = 0x00040000,
-- }, {
-- .name = "nvram",
-- .offset = 0x007a0000,
-- .size = 0x00020000,
-+ .offset = 0x00100000,
-+ .size = 0x00650000,
++ .size = 0x00650000, // adopt to kernel mtd size here (3/3) = 0x00750000 - <kernel mtd size>
}, {
+ .name = "lang",
+ .offset = 0x00760000,
+@@ -75,6 +79,14 @@ static struct mtd_partition wrt350n_v2_nor_flash_partitions
.name = "u-boot",
.offset = 0x007c0000,
+ .size = 0x00040000,
++ }, {
++ .name = "eRcOmM_do_not_touch",
++ .offset = 0x00750000,
++ .size = 0x00010000, // erasesize
++ }, {
++ .name = "image", // for sysupgrade
++ .offset = 0x00000000,
++ .size = 0x00750000,
+ },
+ };
+
--- /dev/null
+--- a/arch/arm/mach-orion5x/wnr854t-setup.c
++++ b/arch/arm/mach-orion5x/wnr854t-setup.c
+@@ -67,6 +67,10 @@ static struct mtd_partition wnr854t_nor_flash_partitions
+ .name = "uboot",
+ .offset = 0x00760000,
+ .size = 0x00040000,
++ }, {
++ .name = "image", // for sysupgrade
++ .offset = 0x00000000,
++ .size = 0x00760000,
+ },
+ };
+