[Feature Request] Limit the possibility of upgrading a device with the image for the wrong architecture

As a MikroTik user and product consumer
I want better reliability in performing manual upgrades
So that the possibility for ending up with a broken install is limited

Description

Recently I performed a manual re-install of a CRS326 with ROS 7.1b6.

By mistake, I downloaded the wrong image from the Mikrotik.com website (arm64 vs arm) and rebooted the device only to end up with a broken ROS install.

Acceptance Criteria

My request boiled down is to implement a rudimentary pre-check in RouterBOOT that checks for 2 things,

  • is the architecture of the uploaded npk (image) the same as the running hardware architecture,
  • is the uploaded npk valid for the current model of the hardware we are trying to upgrade.

If yes, proceed to upgrade.
If no, refuse the upgrade and proceed with normal boot.

Benefits

This limits the possibility of ending up with a broken ROS install.
Plus in the longer term (should) have the added benefit of fewer support tickets related to this type of accident by users.

Actually on non-beta version i never haved that problemon my devices,
already on other version is impossible to install wrong architecture.
The beta still beta, can have that problem.

I haven’t tried this on ROS 7, but at least on ROS 6 if you upload the wrong architecture and reboot it will fail to upgrade and indicate that the package is the wrong architecture. So I think this check is already supposed to be in place. If it got by somehow, perhaps there is a bug.

Robustness, the ability to be sent wrong data and not crash. The bane of lazy programmers and testers, or on a really tight budget.
Pretty fundamental in production environments so dont think this would be a problem for MT OS, as noted by others.
Beta not being production may be a different story.