x86_64: fix invoking sysupgrade on PARTUUID mounted system
[openwrt.git] / target / linux / x86_64 / base-files / lib / preinit / 79_move_config
index 0b9b49f..cdcf683 100644 (file)
@@ -2,40 +2,10 @@
 # Copyright (C) 2012-2014 OpenWrt.org
 
 move_config() {
-       local cmdline uuid disk dev
+       . /lib/upgrade/platform.sh
 
-       if read cmdline < /proc/cmdline; then
-               case "$cmdline" in
-                       *block2mtd=*)
-                               disk="${cmdline##*block2mtd=}"
-                               disk="${disk%%,*}"
-                       ;;
-                       *root=*)
-                               disk="${cmdline##*root=}"
-                               disk="${disk%% *}"
-                       ;;
-               esac
-
-               case "$disk" in
-                       PARTUUID=[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9]-02)
-                               uuid="${cmdline#PARTUUID=}"
-                               uuid="${uuid%-02}"
-                               for disk in /dev/[hsv]d[a-z]; do
-                                       set -- $(dd if=$disk bs=1 skip=440 count=4 2>/dev/null | hexdump -v -e '4/1 "%02x "')
-                                       if [ "$4$3$2$1" = "$uuid" ]; then
-                                               dev="${disk}1"
-                                               break
-                                       fi
-                               done
-                       ;;
-                       /dev/*)
-                               dev="${disk%[0-9]}1"
-                       ;;
-               esac
-       fi
-
-       if [ -n "$dev" ]; then
-               mount -t ext4 -o rw,noatime "$dev" /mnt
+       if platform_export_bootpart; then
+               mount -t ext4 -o rw,noatime "$BOOTPART" /mnt
                mv -f /mnt/sysupgrade.tgz /
                umount /mnt
        fi