From: Rosen Penev Date: Tue, 24 Mar 2026 20:02:52 +0000 (-0700) Subject: ipq60xx: linksys: add partition selection X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de96f66acfc2bcee95cf85c2d2bf0c76dc03e799;p=thirdparty%2Fopenwrt.git ipq60xx: linksys: add partition selection Instead of upgrading both kernels, allow support for selecting the partition during sysupgrade. Copy/Paste of Linux MX devices on the same target. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/22594 Signed-off-by: Robert Marko --- diff --git a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh index 66e88f61b46..f8b2771481e 100644 --- a/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/qualcommax/ipq60xx/base-files/lib/upgrade/platform.sh @@ -116,6 +116,44 @@ tplink_do_upgrade() { nand_do_upgrade "$1" } +linksys_mr_pre_upgrade() { + local setenv_script="/tmp/fw_env_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 + echo "boot_part 2" >> $setenv_script + CI_KERNPART="alt_kernel" + CI_UBIPART="alt_rootfs" + else + echo "boot_part 1" >> $setenv_script + fi + fi + + boot_part_ready="$(fw_printenv -n boot_part_ready)" + if [ "$boot_part_ready" -ne "3" ]; then + echo "boot_part_ready 3" >> $setenv_script + fi + + auto_recovery="$(fw_printenv -n auto_recovery)" + if [ "$auto_recovery" != "yes" ]; then + echo "auto_recovery yes" >> $setenv_script + fi + + if [ -f "$setenv_script" ]; then + fw_setenv -s $setenv_script || { + echo "failed to update U-Boot environment" + return 1 + } + fi +} + platform_check_image() { return 0; } @@ -192,17 +230,8 @@ platform_do_upgrade() { ;; linksys,mr7350|\ linksys,mr7500) - 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 + linksys_mr_pre_upgrade "$1" + remove_oem_ubi_volume squashfs nand_do_upgrade "$1" ;; tplink,eap610-outdoor|\