diff options
Diffstat (limited to 'target/linux/ath79/mikrotik/base-files')
-rw-r--r-- | target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh index a568689536..d2e43d404f 100644 --- a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh +++ b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh @@ -12,11 +12,17 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock' platform_do_upgrade_mikrotik_nand() { CI_KERNPART=none + local fw_mtd=$(find_mtd_part kernel) fw_mtd="${fw_mtd/block/}" [ -n "$fw_mtd" ] || return + + local board_dir=$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$') + board_dir=${board_dir%/} + [ -n "$board_dir" ] || return + mtd erase kernel - tar xf "$1" sysupgrade-routerboard/kernel -O | nandwrite -o "$fw_mtd" - + tar xf "$1" ${board_dir}/kernel -O | nandwrite -o "$fw_mtd" - nand_do_upgrade "$1" } |