mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2025-12-08 05:32:09 -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
|
PART_NAME=firmware
|
||||||
|
|
||||||
REQUIRE_IMAGE_METADATA=1
|
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() {
|
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
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user