diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh index e2bd946d29..e33b74a64e 100755 --- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh +++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh @@ -773,8 +773,13 @@ platform_nand_pre_upgrade() { 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" - ;; wi2a-ac200i) case "$(fw_printenv -n dualPartition)" in