aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mpc85xx/base-files/lib/upgrade/platform.sh')
-rwxr-xr-xtarget/linux/mpc85xx/base-files/lib/upgrade/platform.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh b/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
index 65b3674769..9e3a3d661a 100755
--- a/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/mpc85xx/base-files/lib/upgrade/platform.sh
@@ -4,6 +4,10 @@
PART_NAME=firmware
+get_magic_long_at() {
+ (get_image "$1" | dd bs=4 count=1 skip="$2" | hexdump -v -n 4 -e '1/1 "%02x"') 2>/dev/null
+}
+
tplink_get_hwid() {
local part
@@ -28,6 +32,29 @@ platform_check_image() {
[ "$#" -gt 1 ] && return 1
case $board in
+ hiveap-330)
+ local init_magic=$(get_magic_long_at "$1" "65536")
+ local root_magic=$(get_magic_long_at "$1" "131072")
+ local kernel_magic=$(get_magic_long_at "$1" "10551296")
+
+ [ "$magic" != "d00dfeed" ] && {
+ echo "Invalid dtb image type."
+ return 1
+ }
+ [ "$init_magic" != "27051956" ] && {
+ echo "Invalid initramfs image type."
+ return 1
+ }
+ [ "$root_magic" != "68737173" ] && {
+ echo "Invalid rootfs image type."
+ return 1
+ }
+ [ "$kernel_magic" != "27051956" ] && {
+ echo "Invalid kernel image type."
+ return 1
+ }
+ return 0
+ ;;
tl-wdr4900-v1)
[ "$magic" != "01000000" ] && {
echo "Invalid image type."