diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-05 10:12:53 +0000 |
commit | 5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch) | |
tree | 1229a11f725bfa58aa7c57a76898553bb5f6654a /target/linux/x86/base-files/lib/upgrade | |
download | openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip |
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/x86/base-files/lib/upgrade')
-rw-r--r-- | target/linux/x86/base-files/lib/upgrade/platform.sh | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh new file mode 100644 index 000000000..dc4790ba3 --- /dev/null +++ b/target/linux/x86/base-files/lib/upgrade/platform.sh @@ -0,0 +1,50 @@ +USE_REFRESH=1 + +x86_get_rootfs() { + 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 + + echo "$rootfstype:$rootfsdev" +} + +platform_check_image() { + [ "$ARGC" -gt 1 ] && return 1 + + case "$(get_magic_word "$1")" in + eb48) return 0;; + *) + echo "Invalid image type" + return 1 + ;; + esac +} + +platform_refresh_partitions() { + return 0 +} + +platform_copy_config() { + local rootfs="$(x86_get_rootfs)" + local rootfsdev="${rootfs##*:}" + + mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt + cp -af "$CONF_TAR" /mnt/ + umount /mnt +} + +platform_do_upgrade() { + local rootfs="$(x86_get_rootfs)" + local rootfsdev="${rootfs##*:}" + + sync + [ -b ${rootfsdev%[0-9]} ] && get_image "$@" | dd of=${rootfsdev%[0-9]} bs=4096 conv=fsync + sleep 1 +} |