mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-06 20:54:00 -05:00
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@makrotopia.org>
This commit is contained in:
parent
502e6253a1
commit
318f07c231
@ -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
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user