brcm47xx: extract magics from specific upgrade images (and still reject them)

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 43718
This commit is contained in:
Rafał Miłecki 2014-12-15 11:09:14 +00:00
parent 40e2dbf9c6
commit c3e9796cd5

View File

@ -36,7 +36,23 @@ platform_check_image() {
local file_type=$(brcm47xx_identify "$1") local file_type=$(brcm47xx_identify "$1")
case "$file_type" in case "$file_type" in
"trx") return 0;; "chk")
local header_len=$((0x$(get_magic_long_at "$1" 4)))
local board_id_len=$(($header_len - 40))
local board_id=$(dd if="$1" skip=40 bs=1 count=$board_id_len 2>/dev/null | hexdump -v -e '1/1 "%c"')
echo "Found CHK image with device board_id $board_id"
echo "Flashing CHK images in unsupported. Please use only .trx files."
return 1
;;
"cybertan")
local magic=$(dd if="$1" bs=1 count=4 2>/dev/null | hexdump -v -e '1/1 "%c"')
echo "Found CyberTAN image with device magic: $magic"
echo "Flashing CyberTAN images in unsupported. Please use only .trx files."
return 1
;;
"trx")
return 0
;;
*) *)
echo "Invalid image type. Please use only .trx files" echo "Invalid image type. Please use only .trx files"
return 1 return 1