aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/orion/generic/base-files/lib/upgrade/platform.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/orion/generic/base-files/lib/upgrade/platform.sh')
-rw-r--r--target/linux/orion/generic/base-files/lib/upgrade/platform.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/orion/generic/base-files/lib/upgrade/platform.sh b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..9c9967e4a
--- /dev/null
+++ b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,38 @@
+#
+# Copyright (C) 2010-2011 OpenWrt.org
+#
+
+# use default "image" for PART_NAME
+# use default for platform_do_upgrade()
+
+platform_check_image() {
+ [ "${ARGC}" -gt 1 ] && { echo 'Too many arguments. Only flash file expected.'; return 1; }
+
+ local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
+ local magic="$(get_magic_word "$1")"
+ local magic_long="$(get_magic_long "$1")"
+
+ case "${hardware}" in
+ # hardware with a direct uImage partition
+ # image header format as described in U-Boot's include/image.h
+ # see http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=blob;f=include/image.h
+ 'Linksys WRT350N v2')
+ [ "${magic_long}" != '27051956' ] && {
+ echo "Invalid image type ${magic_long}."
+ return 1
+ }
+ return 0
+ ;;
+ # Netgear WNR854T (has uImage as file inside a JFFS2 partition)
+ 'Netgear WNR854T')
+ [ "${magic}" != '8519' ] && {
+ echo "Invalid image type ${magic}."
+ return 1
+ }
+ return 0
+ ;;
+ esac
+
+ echo "Sysupgrade is not yet supported on ${hardware}."
+ return 1
+}