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>
v19.07.3_mercusys_ac12_duma
Rafał Miłecki 8 years ago
parent 1beb5bec64
commit cb0de9a68e

@ -132,22 +132,12 @@ platform_check_image() {
return $error return $error
} }
platform_pre_upgrade() { # $(1): image for upgrade (with possible extra header)
export RAMFS_COPY_BIN="${RAMFS_COPY_BIN} /usr/bin/oseama /bin/sed" # $(2): offset of trx in image
platform_pre_upgrade_trx() {
local file_type=$(platform_identify "$1")
local dir="/tmp/sysupgrade-bcm53xx" local dir="/tmp/sysupgrade-bcm53xx"
local trx="$1" local trx="$1"
local offset local offset="$2"
[ "$(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
# Extract partitions from trx # Extract partitions from trx
rm -fR $dir rm -fR $dir
@ -207,6 +197,22 @@ platform_pre_upgrade() {
nand_do_upgrade /tmp/root.ubi 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() { platform_trx_from_chk_cmd() {
local header_len=$((0x$(get_magic_long_at "$1" 4))) local header_len=$((0x$(get_magic_long_at "$1" 4)))

Loading…
Cancel
Save