From: Rafał Miłecki Date: Fri, 10 Jun 2016 12:30:57 +0000 (+0200) Subject: bcm53xx: sysupgrade: move TRX specific code to separated function X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=cb0de9a68e926cf7e8cf4a6d74ee32bd0f1fed16;p=librecmc%2Flibrecmc.git 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 --- diff --git a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh b/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh index 51ad041730..d613595a66 100644 --- a/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh +++ b/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)))