qualcommax: ipq807x: Add ability to perform upgrade on current partition for Linksys...
authorPaweł Owoc <frut3k7@gmail.com>
Sat, 24 Feb 2024 19:47:58 +0000 (20:47 +0100)
committerRobert Marko <robimarko@gmail.com>
Wed, 29 Jan 2025 15:53:21 +0000 (16:53 +0100)
Dual firmware devices like Linksys MX4200, MX4300, MX5300 and MX8500 use separate rootfs partition.
This option helps to keep all configuration during upgrade.

Signed-off-by: Paweł Owoc <frut3k7@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14720
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/qualcommax/ipq807x/base-files/lib/upgrade/platform.sh

index 2d68ec62ed7594e8d139b80fd5cba9facc200bf6..3bfeb1366b2ab22be673d88ba93202050bb26730 100644 (file)
@@ -108,6 +108,28 @@ tplink_do_upgrade() {
        nand_do_upgrade "$1"
 }
 
+linksys_mx_do_upgrade() {
+       CI_UBIPART="rootfs"
+       boot_part="$(fw_printenv -n boot_part)"
+       if [ -n "$UPGRADE_OPT_USE_CURR_PART" ]; then
+               if [ "$boot_part" -eq "2" ]; then
+                       CI_KERNPART="alt_kernel"
+                       CI_UBIPART="alt_rootfs"
+               fi
+       else
+               if [ "$boot_part" -eq "1" ]; then
+                       fw_setenv boot_part 2
+                       CI_KERNPART="alt_kernel"
+                       CI_UBIPART="alt_rootfs"
+               else
+                       fw_setenv boot_part 1
+               fi
+       fi
+       fw_setenv boot_part_ready 3
+       fw_setenv auto_recovery yes
+       nand_do_upgrade "$1"
+}
+
 platform_check_image() {
        return 0;
 }
@@ -176,18 +198,7 @@ platform_do_upgrade() {
        linksys,mx4300|\
        linksys,mx5300|\
        linksys,mx8500)
-               boot_part="$(fw_printenv -n boot_part)"
-               if [ "$boot_part" -eq "1" ]; then
-                       fw_setenv boot_part 2
-                       CI_KERNPART="alt_kernel"
-                       CI_UBIPART="alt_rootfs"
-               else
-                       fw_setenv boot_part 1
-                       CI_UBIPART="rootfs"
-               fi
-               fw_setenv boot_part_ready 3
-               fw_setenv auto_recovery yes
-               nand_do_upgrade "$1"
+               linksys_mx_do_upgrade "$1"
                ;;
        prpl,haze|\
        qnap,301w)