summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/x86/base-files/lib/upgrade/platform.sh6
1 files changed, 5 insertions, 1 deletions
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
index 9871e62c61..d765c5e6ba 100644
--- a/target/linux/x86/base-files/lib/upgrade/platform.sh
+++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
@@ -13,8 +13,12 @@ platform_check_image() {
}
platform_do_upgrade() {
+ local ROOTFS
sync
- get_image "$1" > /dev/sda
+ grep -q -e "jffs2" -e "squashfs" /proc/cmdline \
+ && ROOTFS="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)" \
+ || ROOTFS="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 ) }' < /proc/cmdline)"
+ [ -b ${ROOTFS%[0-9]} ] && get_image "$1" > ${ROOTFS%[0-9]}
}
x86_prepare_ext2() {