x86: move sysupgrade.tgz only if it exists
[openwrt/staging/lynxis/omap.git] / target / linux / x86 / base-files / lib / preinit / 79_move_config
index 0bffbab994befdd9ec7b81f24b9a2cdf2e6ec1b3..37954f0236faafca657a05a3c1efc7df2e162bfc 100644 (file)
@@ -1,21 +1,19 @@
 #!/bin/sh
-# Copyright (C) 2012 OpenWrt.org
+# Copyright (C) 2012-2015 OpenWrt.org
 
 move_config() {
-       local rootfsdev
-       local rootfstype
-       
-       rootfstype="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "rootfstype") { print $2 }' < /proc/cmdline)"
-       case "$rootfstype" in
-               squashfs|jffs2)
-                       rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)";;
-               ext4)
-                       rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 }' < /proc/cmdline)";;
-       esac
+       local partdev
 
-       mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt
-       mv -f /mnt/sysupgrade.tgz /
-       umount /mnt
+       . /lib/upgrade/platform.sh
+
+       if platform_export_bootdevice && platform_export_partdevice partdev 1; then
+               if mount -t ext4 -o rw,noatime "/dev/$partdev" /mnt; then
+                       if [ -f /mnt/sysupgrade.tgz ]; then
+                               mv -f /mnt/sysupgrade.tgz /
+                       fi
+                       umount /mnt
+               fi
+       fi
 }
 
 boot_hook_add preinit_mount_root move_config