diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2010-04-12 12:21:18 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2010-04-12 12:21:18 +0000 |
commit | 185965e128c6896cdda1cb0e9f28f4ebba557a73 (patch) | |
tree | 6e3b21894ce41b97a2acbd093c9655dfaecb46c3 /target/linux/ppc40x/base-files/lib | |
parent | bc4cd8c850516ab3adfd5b4748d8b3430718fbcf (diff) | |
download | mtk-20170518-185965e128c6896cdda1cb0e9f28f4ebba557a73.zip mtk-20170518-185965e128c6896cdda1cb0e9f28f4ebba557a73.tar.gz mtk-20170518-185965e128c6896cdda1cb0e9f28f4ebba557a73.tar.bz2 |
ppc40x: add sysupgrade support
Cc: backfire@openwrt.org
SVN-Revision: 20821
Diffstat (limited to 'target/linux/ppc40x/base-files/lib')
-rwxr-xr-x | target/linux/ppc40x/base-files/lib/ppc40x.sh | 11 | ||||
-rw-r--r-- | target/linux/ppc40x/base-files/lib/upgrade/platform.sh | 38 |
2 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/ppc40x/base-files/lib/ppc40x.sh b/target/linux/ppc40x/base-files/lib/ppc40x.sh new file mode 100755 index 0000000..8a6c487 --- /dev/null +++ b/target/linux/ppc40x/base-files/lib/ppc40x.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# +# Copyright (C) 2010 OpenWrt.org +# + +ppc40x_board_name() { + local model + + model=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /model/ {print $2}' /proc/cpuinfo) + echo $model +} diff --git a/target/linux/ppc40x/base-files/lib/upgrade/platform.sh b/target/linux/ppc40x/base-files/lib/upgrade/platform.sh new file mode 100644 index 0000000..ed08cab --- /dev/null +++ b/target/linux/ppc40x/base-files/lib/upgrade/platform.sh @@ -0,0 +1,38 @@ +# +# Copyright (C) 2010 OpenWrt.org +# + +. /lib/ppc40x.sh + +PART_NAME=firmware +RAMFS_COPY_DATA=/lib/ppc40x.sh + +platform_check_image() { + local board=$(ppc40x_board_name) + local magic="$(get_magic_word "$1")" + + [ "$ARGC" -gt 1 ] && return 1 + + case "$board" in + kilauea | openrb | magicbox) + [ "$magic" != "2705" ] && { + echo "Invalid image type." + return 1 + } + return 0 + ;; + esac + + echo "Sysupgrade is not yet supported on $board." + return 1 +} + +platform_do_upgrade() { + local board=$(ppc40x_board_name) + + case "$board" in + *) + default_do_upgrade "$ARGV" + ;; + esac +} |