diff options
Diffstat (limited to 'target/linux/orion/generic/base-files/lib/upgrade')
-rw-r--r-- | target/linux/orion/generic/base-files/lib/upgrade/platform.sh | 31 |
1 files changed, 31 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..fdd26c517 --- /dev/null +++ b/target/linux/orion/generic/base-files/lib/upgrade/platform.sh @@ -0,0 +1,31 @@ +# 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")" + + case "${hardware}" in + # hardware with padded uImage + padded rootfs + 'Linksys WRT350N v2') + [ "${magic}" != '2705' ] && { + echo "Invalid image type ${magic}." + return 1 + } + return 0 + ;; + # Netgear WNR854T has extra header before uImage + 'Netgear WNR854T') + [ "${magic}" != '8519' ] && { + echo "Invalid image type ${magic}." + return 1 + } + return 0 + ;; + esac + + echo "Sysupgrade is not yet supported on ${hardware}." + return 1 +} |