diff options
author | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-02-26 18:24:55 +0100 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-03-17 12:02:14 +0100 |
commit | 281785d74fcc70153c0741be36ee1f9d05e74f6f (patch) | |
tree | 00d28e58ddf5b4fe2dcc568dbd72bdfe27e6aab6 | |
parent | a66eee63368eb5625b359244bfffc9b9eb921875 (diff) | |
download | upstream-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>
-rwxr-xr-x | target/linux/ar71xx/base-files/lib/upgrade/platform.sh | 7 |
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" } |