mediatek: mt7622: don't rely on existing image for sysupgrade
[openwrt/staging/noltari.git] / target / linux / mediatek / mt7622 / base-files / lib / upgrade / platform.sh
index 513741d6672863a0458acc179dae16c6893c79f7..e62eba7ef17f6a452d0e9bb235bd90d40585fe68 100755 (executable)
@@ -1,6 +1,4 @@
 REQUIRE_IMAGE_METADATA=1
-RAMFS_COPY_BIN='fw_printenv fw_setenv blockdev'
-RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
 platform_do_upgrade() {
        local board=$(board_name)
@@ -8,21 +6,13 @@ platform_do_upgrade() {
 
        case "$board" in
        bananapi,bpi-r64)
-               export_bootdevice
-               export_partdevice rootdev 0
+               local rootdev="$(cmdline_get_var root)"
+               rootdev="${rootdev##*/}"
                case "$rootdev" in
                mmc*)
-                       blockdev --rereadpt /dev/$rootdev || return 1
-                       local fitpart=$(get_partition_by_name $rootdev "production")
-                       [ "$fitpart" ] || return 1
-                       dd if=/dev/zero of=/dev/$fitpart bs=4096 count=1 2>/dev/null
-                       blockdev --rereadpt /dev/$rootdev
-                       get_image "$1" | dd of=/dev/$fitpart
-                       blockdev --rereadpt /dev/$rootdev
-                       local datapart=$(get_partition_by_name $rootdev "rootfs_data")
-                       [ "$datapart" ] || return 0
-                       dd if=/dev/zero of=/dev/$datapart bs=4096 count=1 2>/dev/null
-                       echo $datapart > /tmp/sysupgrade.datapart
+                       CI_ROOTDEV="$rootdev"
+                       CI_KERNPART="production"
+                       emmc_do_upgrade "$1"
                        ;;
                *)
                        CI_KERNPART="fit"
@@ -42,8 +32,13 @@ platform_do_upgrade() {
                        nand_do_upgrade "$1"
                fi
                ;;
-       linksys,e8450-ubi|\
-       mediatek,mt7622,ubi)
+       elecom,wrc-x3200gst3|\
+       mediatek,mt7622-rfb1-ubi|\
+       totolink,a8000ru|\
+       xiaomi,redmi-router-ax6s)
+               nand_do_upgrade "$1"
+               ;;
+       linksys,e8450-ubi)
                CI_KERNPART="fit"
                nand_do_upgrade "$1"
                ;;
@@ -55,9 +50,6 @@ platform_do_upgrade() {
                fi
                default_do_upgrade "$1"
                ;;
-       totolink,a8000ru)
-               nand_do_upgrade "$1"
-               ;;
        *)
                default_do_upgrade "$1"
                ;;
@@ -76,7 +68,10 @@ platform_check_image() {
        buffalo,wsr-2533dhp2)
                buffalo_check_image "$board" "$magic" "$1" || return 1
                ;;
-       totolink,a8000ru)
+       elecom,wrc-x3200gst3|\
+       mediatek,mt7622-rfb1-ubi|\
+       totolink,a8000ru|\
+       xiaomi,redmi-router-ax6s)
                nand_do_platform_check "$board" "$1"
                ;;
        *)
@@ -91,21 +86,13 @@ platform_check_image() {
        return 0
 }
 
-platform_copy_config_mmc() {
-       [ -e "$UPGRADE_BACKUP" ] || return
-       local datapart=$(cat /tmp/sysupgrade.datapart)
-       [ "$datapart" ] || echo "no rootfs_data partition, cannot keep configuration." >&2
-       dd if="$UPGRADE_BACKUP" of=/dev/$datapart
-       sync
-}
-
 platform_copy_config() {
        case "$(board_name)" in
        bananapi,bpi-r64)
                export_bootdevice
                export_partdevice rootdev 0
                if echo $rootdev | grep -q mmc; then
-                       platform_copy_config_mmc
+                       emmc_copy_config
                fi
                ;;
        esac