[openwrt/openwrt] ath79: mikrotik: check RouterBOOT version matching sysupgrade image
LEDE Commits
lede-commits at lists.infradead.org
Mon Sep 29 10:49:36 PDT 2025
dangole pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/318f07c231552f32542cb2dcb22aac282f0cdb52
commit 318f07c231552f32542cb2dcb22aac282f0cdb52
Author: Daniel Golle <daniel at makrotopia.org>
AuthorDate: Tue Sep 23 17:44:35 2025 +0100
ath79: mikrotik: check RouterBOOT version matching sysupgrade image
Check if the uploaded image matches the version of RouterBOOT before
proceeding with sysupgrade on MikroTik devices with NOR flash.
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
.../mikrotik/base-files/lib/upgrade/platform.sh | 41 ++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
index 9ad778ad17..1ce42f7b79 100644
--- a/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ath79/mikrotik/base-files/lib/upgrade/platform.sh
@@ -3,7 +3,48 @@
PART_NAME=firmware
REQUIRE_IMAGE_METADATA=1
+
+platform_check_image_mikrotik_nor() {
+ local bootfwver bootfwmajor
+ local bootentry="$(dd bs=10 skip=1 count=1 if="$1" 2>/dev/null | xargs -0)"
+
+ read -r bootfwver < /sys/firmware/mikrotik/hard_config/booter_version
+ bootfwmajor="${bootfwver%%.*}"
+
+ if [ "$((bootfwmajor))" = 0 ]; then
+ v "invalid RouterBOOT version"
+ return 1
+ elif [ "$bootfwmajor" -le 6 ] && [ "$bootentry" != "kernel" ]; then
+ v "RouterBOOT 6 and earlier requires ELF-in-YAFFS image"
+ return 1
+ elif [ "$bootfwmajor" -ge 7 ] && [ "$bootentry" != "bootimage" ]; then
+ v "RouterBOOT 7 and later requires NPK-in-YAFFS image"
+ return 1
+ fi
+
+ return 0
+}
+
platform_check_image() {
+ case "$board" in
+ mikrotik,routerboard-2011uias-2hnd|\
+ mikrotik,routerboard-493g|\
+ mikrotik,routerboard-911g-5hpacd|\
+ mikrotik,routerboard-911g-xhpnd|\
+ mikrotik,routerboard-912uag-2hpnd|\
+ mikrotik,routerboard-921gs-5hpacd-15s|\
+ mikrotik,routerboard-922uags-5hpacd|\
+ mikrotik,routerboard-951g-2hnd|\
+ mikrotik,routerboard-951ui-2hnd|\
+ mikrotik,routerboard-sxt-5nd-r2)
+ return 0
+ ;;
+ *)
+ platform_check_image_mikrotik_nor "$1"
+ return $?
+ ;;
+ esac
+
return 0
}
More information about the lede-commits
mailing list