it would be really great to have a safer upgrade method
in my experience about 10% of the upgrades backfires.
the last one was in an 5xx board.
i have uploaded the image, rebooted, and about the half system was upgraded, the other half was lost and so the configuration for trose modules, including all ppp passes. It took me 2 days to explain a local colague to find internet somewhere else, download the os, re- upgrade the router, find the lost passes and configure ppp so i can do the rest remotely.
the previous issue was on a 133c3, which got into a reboot loop after upgrade, and once in every few hours it booted up … sometimes it did not had a terminal even then. … another 2 day issue was to repair it.
in the past there were few issues when the upgrade happened but the system did not rebooted… i do not knof if that was fixed or not…
in both cases i used the right and full package.
how can this be? it would be really nice if the upgrade prog did some more crc-ing, test the written data,and re-write if the crc fails etc…
yes i know, but as i writed problems are exists which could be solved with some more crc checking, and crc checking the upgraded system. if crc is not ok, then rewrite the system from the pre-crc checked update file.
Or a two partition hard drive. Upgrading upgrades the other partition and carries over the configuration as far as possible, and the upgraded partition is set to be the one to boot to. Then make it possible to choose the boot partition on boot. Should the upgrade fail, you just mark the other partition as active again and you’re back where you started.
Allied Telesis have a similar system I think would work well.
The device maintains 2 software copies, an older version and a current version.
If anything goes wrong when rebooting with the current version it simply loads up the older version again.
Translated over to RouterOS this would mean that when I upgrade from .. say v4.6 to v4.10, it would keep the v4.6 software + config as a backup and if it failed to boot on v4.10 would roll back to v4.6 instead.