aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/x86/base-files/lib/upgrade
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-03-28 11:55:07 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-03-28 11:55:07 +0000
commite1a4f69cb5a3b8e9ab372b9d7c526814a6f60db9 (patch)
tree855913ee0786db6aed9d60175e0a261005068e26 /target/linux/x86/base-files/lib/upgrade
parentebab30b7c71564a015eed10323878fd8244422b9 (diff)
downloadupstream-e1a4f69cb5a3b8e9ab372b9d7c526814a6f60db9.tar.gz
upstream-e1a4f69cb5a3b8e9ab372b9d7c526814a6f60db9.tar.bz2
upstream-e1a4f69cb5a3b8e9ab372b9d7c526814a6f60db9.zip
sysupgrade: Get target device from kernel cmdline, patch from acinonyx
SVN-Revision: 20538
Diffstat (limited to 'target/linux/x86/base-files/lib/upgrade')
-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() {