X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fmpc85xx%2Fbase-files%2Flib%2Fupgrade%2Fplatform.sh;h=9e3a3d661a7ed9bf9f4d5a18047a7fdf93f34290;hb=f2b7d9dc1ca3d33f14961cf2885639f4f9e8965e;hp=65b3674769c001d2091d68ab4dd2291f44e0fe87;hpb=8cd6686ef81effb3c30f0508368db3d0600f289d;p=openwrt%2Fstaging%2Fdedeckeh.git 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."