summaryrefslogtreecommitdiff
path: root/target/linux/x86/base-files/lib
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-28 11:55:07 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-03-28 11:55:07 +0000
commit1590ebe55a43e41b61f0d626b37d1cfd62779cc4 (patch)
tree71a29788c95163eb16b3cea0b8aba18699724cb7 /target/linux/x86/base-files/lib
parenta24b24783cc1b889136b3ba26e2a1bf29029a0f7 (diff)
[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/linux/x86/base-files/lib')
-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() {