diff options
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 000000000..8a6c48776 --- /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 000000000..ed08cab2a --- /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 +} |