aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-02-26 18:24:55 +0100
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-03-17 12:02:14 +0100
commit281785d74fcc70153c0741be36ee1f9d05e74f6f (patch)
tree00d28e58ddf5b4fe2dcc568dbd72bdfe27e6aab6 /target
parenta66eee63368eb5625b359244bfffc9b9eb921875 (diff)
downloadupstream-281785d74fcc70153c0741be36ee1f9d05e74f6f.tar.gz
upstream-281785d74fcc70153c0741be36ee1f9d05e74f6f.tar.bz2
upstream-281785d74fcc70153c0741be36ee1f9d05e74f6f.zip
ar71xx: remove hard-coded folder name from Mikrotik RB upgrade
So far, specifying "BOARD_NAME := routerboard" is required by the upgrade code of Mikrotik NAND devices, as "sysupgrade-routerboard" is hardcoded in platform_do_upgrade_mikrotik_rb(). This patch replaces the latter with a grep for the name like it is already done in nand_upgrade_tar() in /lib/upgrade/nand.sh. This should enable upgrades from ar71xx to ath79 without setting BOARD_NAME for the latter. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target')
-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"
}