Ticket #5719: orion_sysupgrade_platform_sh.3.patch

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

Replaces all previous patches with platform.sh

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

     
     1# use default "image" for PART_NAME 
     2# use default for platform_do_upgrade() 
     3 
     4platform_check_image() { 
     5        [ "${ARGC}" -gt 1 ] && { echo 'Too many arguments. Only flash file expected.'; return 1; } 
     6 
     7        [ ! -f "$1" ] && { echo 'File does not exist.'; return 1; } 
     8 
     9        local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo` 
     10        local magic="$(get_magic_word "$1")" 
     11 
     12        case "${hardware}" in 
     13         # hardware with padded uImage + padded rootfs 
     14         'Netgear WNR854T' | 'Linksys WRT350N v2') 
     15                [ "${magic}" != '2705' ] && { 
     16                        echo "Invalid image type ${magic}." 
     17                        return 1 
     18                } 
     19                # special cases 
     20                [ "${hardware}" == 'Linksys WRT350N v2' ] && { 
     21                        # WRT350Nv2 eRcOmM sanity check, if 0x00750000-0x0075FFFF would be overwritten or erased 
     22                        local checksize=$(( 0x00750000 )) 
     23                        local size=`ls -l "$1" | awk '{ print $5 }'` 
     24                        [ ${size} -gt ${checksize} ] && { 
     25                                local bytes=`hexdump -v -e '1/1 "%02X"' -s $(( 0x0075FFE8 )) -n 8 "$1"` 
     26                                [ "${bytes}" != '6552634F6D4D0000' ] && { 
     27                                        echo "Flash image would kill eRcOmM identifier for WRT350N v2. Not flashing." 
     28                                        return 1 
     29                                } 
     30                        } 
     31                } 
     32                return 0 
     33                ;; 
     34        esac 
     35 
     36        echo "Sysupgrade is not yet supported on ${hardware}." 
     37        return 1 
     38}