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>
master
Adrian Schmutzler 2020-02-26 18:24:55 +01:00
parent a66eee6336
commit 281785d74f
1 changed files with 6 additions and 1 deletions

View File

@ -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"
}