bcm53xx: sysupgrade: move TRX specific code to separated function

This will allow adding support for other formats (e.g. Seama) in a clean
way.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
master
Rafał Miłecki 9 years ago
parent 1beb5bec64
commit cb0de9a68e
  1. 34
      target/linux/bcm53xx/base-files/lib/upgrade/platform.sh

@ -132,22 +132,12 @@ platform_check_image() {
return $error
}
platform_pre_upgrade() {
export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/bin/oseama /bin/sed"
local file_type=$(platform_identify "$1")
# $(1): image for upgrade (with possible extra header)
# $(2): offset of trx in image
platform_pre_upgrade_trx() {
local dir="/tmp/sysupgrade-bcm53xx"
local trx="$1"
local offset
[ "$(platform_flash_type)" != "nand" ] && return
# Find trx offset
case "$file_type" in
"chk") offset=$((0x$(get_magic_long_at "$1" 4)));;
"cybertan") offset=32;;
"seama") return;;
esac
local offset="$2"
# Extract partitions from trx
rm -fR $dir
@ -207,6 +197,22 @@ platform_pre_upgrade() {
nand_do_upgrade /tmp/root.ubi
}
platform_pre_upgrade() {
export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/bin/oseama /bin/sed"
local file_type=$(platform_identify "$1")
[ "$(platform_flash_type)" != "nand" ] && return
# Find trx offset
case "$file_type" in
"chk") platform_pre_upgrade_trx "$1" $((0x$(get_magic_long_at "$1" 4)));;
"cybertan") platform_pre_upgrade_trx "$1" 32;;
"seama") return;;
"trx") platform_pre_upgrade_trx "$1";;
esac
}
platform_trx_from_chk_cmd() {
local header_len=$((0x$(get_magic_long_at "$1" 4)))

Loading…
Cancel
Save