aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/base-files/lib/upgrade/platform.sh')
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/upgrade/platform.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index a76842bdde..eb812865db 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -742,8 +742,13 @@ platform_do_upgrade_mikrotik_rb() {
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"
}