Ticket #5719: orion_sysupgrade_platform_sh.2.patch

File orion_sysupgrade_platform_sh.2.patch, 1.1 KB (added by Maddes <maddes_trac@…>, 8 years ago)

Add sanity check to script. Replaces previous patch, so apply to clean/reverted trunk.

  • target/linux/orion/base-files/lib/upgrade/platform.sh

     
     1# use default "image" for PART_NAME 
     2 
     3platform_check_image() { 
     4        [ "${ARGC}" -gt 1 ] && return 1 
     5 
     6        local magic="$(get_magic_word "$1")" 
     7        case "${magic}" in 
     8                # WRT350Nv2 use .img files (padded uImage + padded rootfs) 
     9                2705) 
     10                        # eRcOmM sanity check, if 0x00750000-0x0075FFFF would be written or erased 
     11                        ERCOMM_CHECKSIZE=$(( 0x00750000 )) 
     12                        SIZE=`ls -l "$1" | awk '{ print $5 }'` 
     13                        [ ${SIZE} -gt ${ERCOMM_CHECKSIZE} ] && { 
     14                                BYTES=`hexdump -v -e '1/1 "%02X"' -s $(( 0x0075FFE8 )) -n 8 "$1"` 
     15                                [ "${BYTES}" != '6552634F6D4D0000' ] && { 
     16                                        echo "Flash image does not contain eRcOmM identifier. Not flashing." 
     17                                        return 1 
     18                                } 
     19                        } 
     20                        return 0 
     21                        ;; 
     22                # unknown format 
     23                *) 
     24                        echo "Invalid image type ${magic}. Please use an appropriate .img file." 
     25                        return 1 
     26                ;; 
     27        esac 
     28} 
     29 
     30# use default for platform_do_upgrade()