summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2021-03-01 19:31:51 +0000
committerDaniel Golle <daniel@makrotopia.org>2021-03-01 19:35:08 +0000
commit2151d897135501b9515ac0674e36ec79ae949ab8 (patch)
tree990da4fbf78f9890132a94843497137d3c9c316a
parentded54ae19622423b5e3e30c7ee59316af01f8bf3 (diff)
downloadopenwrt-2151d897135501b9515ac0674e36ec79ae949ab8.tar.gz
openwrt-2151d897135501b9515ac0674e36ec79ae949ab8.tar.bz2
openwrt-2151d897135501b9515ac0674e36ec79ae949ab8.zip
mediatek: mt7622: bpi-r64: fix sysupgrade on empty disk
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rwxr-xr-xtarget/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
index 07efe13363..4e45c026ab 100755
--- a/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mediatek/mt7622/base-files/lib/upgrade/platform.sh
@@ -16,6 +16,13 @@ get_rootdev() {
local rootvol rootdev
rootvol=$(get_cmdline_var root)
rootvol=$(basename $rootvol)
+ [ -e /sys/class/block/$rootvol ] || {
+ rootvol=${rootvol%%[0-9]}
+ [ -e /sys/class/block/$rootvol ] && echo $rootvol
+ rootvol=${rootvol%%p}
+ [ -e /sys/class/block/$rootvol ] && echo $rootvol
+ return
+ }
[ -e /sys/class/block/$rootvol/partition ] || {
echo $rootvol
return
@@ -89,13 +96,13 @@ platform_check_image() {
}
platform_copy_config_mmc() {
+ [ -e "$UPGRADE_BACKUP" ] || return
local rootdev=$(cat /tmp/sysupgrade.rootdev)
blockdev --rereadpt /dev/$rootdev
local datadev=$(get_partition $rootdev rootfs_data)
[ "$datadev" ] || echo "no rootfs_data partition, cannot keep configuration." >&2
dd if="$UPGRADE_BACKUP" of=/dev/$datadev
sync
- sleep 4
}
platform_copy_config() {