ath79: sysupgrade: drop unused platform checks
None of these checks are used at the moment and most of them aren't required if the image metadata validation is used. Signed-off-by: Mathias Kresin <dev@kresin.me>
This commit is contained in:
parent
377197fdb3
commit
3e9d9f6225
1 changed files with 0 additions and 171 deletions
|
@ -2,8 +2,6 @@
|
||||||
# Copyright (C) 2011 OpenWrt.org
|
# Copyright (C) 2011 OpenWrt.org
|
||||||
#
|
#
|
||||||
|
|
||||||
. /lib/functions/system.sh
|
|
||||||
|
|
||||||
PART_NAME=firmware
|
PART_NAME=firmware
|
||||||
RAMFS_COPY_BIN='nandwrite'
|
RAMFS_COPY_BIN='nandwrite'
|
||||||
|
|
||||||
|
@ -12,175 +10,6 @@ CI_LDADR=0x80060000
|
||||||
|
|
||||||
PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD=0
|
PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD=0
|
||||||
|
|
||||||
platform_find_partitions() {
|
|
||||||
local first dev size erasesize name
|
|
||||||
while read dev size erasesize name; do
|
|
||||||
name=${name#'"'}; name=${name%'"'}
|
|
||||||
case "$name" in
|
|
||||||
vmlinux.bin.l7|vmlinux|kernel|linux|linux.bin|rootfs|filesystem)
|
|
||||||
if [ -z "$first" ]; then
|
|
||||||
first="$name"
|
|
||||||
else
|
|
||||||
echo "$erasesize:$first:$name"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done < /proc/mtd
|
|
||||||
}
|
|
||||||
|
|
||||||
platform_find_kernelpart() {
|
|
||||||
local part
|
|
||||||
for part in "${1%:*}" "${1#*:}"; do
|
|
||||||
case "$part" in
|
|
||||||
vmlinux.bin.l7|vmlinux|kernel|linux|linux.bin)
|
|
||||||
echo "$part"
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
platform_find_rootfspart() {
|
|
||||||
local part
|
|
||||||
for part in "${1%:*}" "${1#*:}"; do
|
|
||||||
[ "$part" != "$2" ] && echo "$part" && break
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
platform_do_upgrade_combined() {
|
|
||||||
local partitions=$(platform_find_partitions)
|
|
||||||
local kernelpart=$(platform_find_kernelpart "${partitions#*:}")
|
|
||||||
local erase_size=$((0x${partitions%%:*})); partitions="${partitions#*:}"
|
|
||||||
local kern_length=0x$(dd if="$1" bs=2 skip=1 count=4 2>/dev/null)
|
|
||||||
local kern_blocks=$(($kern_length / $CI_BLKSZ))
|
|
||||||
local root_blocks=$((0x$(dd if="$1" bs=2 skip=5 count=4 2>/dev/null) / $CI_BLKSZ))
|
|
||||||
|
|
||||||
if [ -n "$partitions" ] && [ -n "$kernelpart" ] && \
|
|
||||||
[ ${kern_blocks:-0} -gt 0 ] && \
|
|
||||||
[ ${root_blocks:-0} -gt 0 ] && \
|
|
||||||
[ ${erase_size:-0} -gt 0 ];
|
|
||||||
then
|
|
||||||
local rootfspart=$(platform_find_rootfspart "$partitions" "$kernelpart")
|
|
||||||
local append=""
|
|
||||||
[ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
|
|
||||||
|
|
||||||
if [ "$PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD" -ne 1 ]; then
|
|
||||||
( dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null; \
|
|
||||||
dd if="$1" bs=$CI_BLKSZ skip=$((1+$kern_blocks)) count=$root_blocks 2>/dev/null ) | \
|
|
||||||
mtd -r $append -F$kernelpart:$kern_length:$CI_LDADR,rootfs write - $partitions
|
|
||||||
elif [ -n "$rootfspart" ]; then
|
|
||||||
dd if="$1" bs=$CI_BLKSZ skip=1 count=$kern_blocks 2>/dev/null | \
|
|
||||||
mtd write - $kernelpart
|
|
||||||
dd if="$1" bs=$CI_BLKSZ skip=$((1+$kern_blocks)) count=$root_blocks 2>/dev/null | \
|
|
||||||
mtd -r $append write - $rootfspart
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
PLATFORM_DO_UPGRADE_COMBINED_SEPARATE_MTD=0
|
|
||||||
}
|
|
||||||
|
|
||||||
tplink_get_image_hwid() {
|
|
||||||
get_image "$@" | dd bs=4 count=1 skip=16 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
tplink_get_image_mid() {
|
|
||||||
get_image "$@" | dd bs=4 count=1 skip=17 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
tplink_get_image_boot_size() {
|
|
||||||
get_image "$@" | dd bs=4 count=1 skip=37 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
tplink_pharos_check_image() {
|
|
||||||
local magic_long="$(get_magic_long "$1")"
|
|
||||||
[ "$magic_long" != "7f454c46" ] && {
|
|
||||||
echo "Invalid image magic '$magic_long'"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
local model_string="$(tplink_pharos_get_model_string)"
|
|
||||||
local line
|
|
||||||
|
|
||||||
# Here $1 is given to dd directly instead of get_image as otherwise the skip
|
|
||||||
# will take almost a second (as dd can't seek then)
|
|
||||||
#
|
|
||||||
# This will fail if the image isn't local, but that's fine: as the
|
|
||||||
# read loop won't be executed at all, it will return true, so the image
|
|
||||||
# is accepted (loading the first 1.5M of a remote image for this check seems
|
|
||||||
# a bit extreme)
|
|
||||||
dd if="$1" bs=1 skip=1511432 count=1024 2>/dev/null | while read line; do
|
|
||||||
[ "$line" = "$model_string" ] && break
|
|
||||||
done || {
|
|
||||||
echo "Unsupported image (model not in support-list)"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
seama_get_type_magic() {
|
|
||||||
get_image "$@" | dd bs=1 count=4 skip=53 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
wrgg_get_image_magic() {
|
|
||||||
get_image "$@" | dd bs=4 count=1 skip=8 2>/dev/null | hexdump -v -n 4 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
cybertan_get_image_magic() {
|
|
||||||
get_image "$@" | dd bs=8 count=1 skip=0 2>/dev/null | hexdump -v -n 8 -e '1/1 "%02x"'
|
|
||||||
}
|
|
||||||
|
|
||||||
cybertan_check_image() {
|
|
||||||
local magic="$(cybertan_get_image_magic "$1")"
|
|
||||||
local fw_magic="$(cybertan_get_hw_magic)"
|
|
||||||
|
|
||||||
[ "$fw_magic" != "$magic" ] && {
|
|
||||||
echo "Invalid image, ID mismatch, got:$magic, but need:$fw_magic"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
platform_do_upgrade_compex() {
|
|
||||||
local fw_file=$1
|
|
||||||
local fw_part=$PART_NAME
|
|
||||||
local fw_mtd=$(find_mtd_part $fw_part)
|
|
||||||
local fw_length=0x$(dd if="$fw_file" bs=2 skip=1 count=4 2>/dev/null)
|
|
||||||
local fw_blocks=$(($fw_length / 65536))
|
|
||||||
|
|
||||||
if [ -n "$fw_mtd" ] && [ ${fw_blocks:-0} -gt 0 ]; then
|
|
||||||
local append=""
|
|
||||||
[ -f "$CONF_TAR" -a "$SAVE_CONFIG" -eq 1 ] && append="-j $CONF_TAR"
|
|
||||||
|
|
||||||
sync
|
|
||||||
dd if="$fw_file" bs=64k skip=1 count=$fw_blocks 2>/dev/null | \
|
|
||||||
mtd $append write - "$fw_part"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
alfa_check_image() {
|
|
||||||
local magic_long="$(get_magic_long "$1")"
|
|
||||||
local fw_part_size=$(mtd_get_part_size firmware)
|
|
||||||
|
|
||||||
case "$magic_long" in
|
|
||||||
"27051956")
|
|
||||||
[ "$fw_part_size" != "16318464" ] && {
|
|
||||||
echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
"68737173")
|
|
||||||
[ "$fw_part_size" != "7929856" ] && {
|
|
||||||
echo "Invalid image magic \"$magic_long\" for $fw_part_size bytes"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
platform_check_image() {
|
platform_check_image() {
|
||||||
local board=$(board_name)
|
local board=$(board_name)
|
||||||
local magic="$(get_magic_word "$1")"
|
local magic="$(get_magic_word "$1")"
|
||||||
|
|
Loading…
Reference in a new issue