Browse Source

ath79: get rid of BOARD_NAME for Mikrotik RouterBOARD

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_nand().

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.

By that, BOARD_NAME is obsolete now for this device.

Signed-off-by: Adrian Schmutzler <[email protected]>
Adrian Schmutzler 5 years ago
parent
commit
3d8be08939

+ 0 - 1
target/linux/ath79/image/mikrotik.mk

@@ -4,7 +4,6 @@ define Device/mikrotik_routerboard-922uags-5hpacd
   $(Device/mikrotik)
   SOC := qca9558
   DEVICE_MODEL := RouterBOARD 922UAGS-5HPacD
-  BOARD_NAME := routerboard
   IMAGE/sysupgrade.bin = append-kernel | kernel2minor -s 2048 -e -c | \
 	sysupgrade-tar kernel=$$$$@ | append-metadata
   DEVICE_PACKAGES += kmod-ath10k-ct ath10k-firmware-qca988x-ct \

+ 7 - 1
target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh

@@ -12,11 +12,17 @@ RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
 platform_do_upgrade_mikrotik_nand() {
 	CI_KERNPART=none
+
 	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"
 }