aboutsummaryrefslogtreecommitdiffstats
path: root/target
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
commit80551b78e5bd7f8639a1d8b0fb7421dc54fddaa5 (patch)
tree71a29788c95163eb16b3cea0b8aba18699724cb7 /target
parent15ae56b61742ee4534ea711e8269046e5bef0d98 (diff)
downloadmaster-187ad058-80551b78e5bd7f8639a1d8b0fb7421dc54fddaa5.tar.gz
master-187ad058-80551b78e5bd7f8639a1d8b0fb7421dc54fddaa5.tar.bz2
master-187ad058-80551b78e5bd7f8639a1d8b0fb7421dc54fddaa5.zip
[x86] sysupgrade: Get target device from kernel cmdline, patch from acinonyx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20538 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-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() {