mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 23:09:45 +01:00
ath79: mikrotik: check RouterBOOT version matching sysupgrade image
Some checks failed
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
Build host tools / Build host tools for linux and macos based systems (push) Waiting to run
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
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
1 changed files with 41 additions and 0 deletions
|
|
@ -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…
Add table
Reference in a new issue