On 21.02.03 I used following, working code in my custom image:
sysupgrade -F -v -n -f /tmp/somefiles.tar.gz /tmp/fw.bin
if [ $? -ne 0 ] ; then
echo 'error'
exit
fi
In case of successful flash of fw.bin, the check for error code was not even executed, no "return" from sysupgrade.
Now, on 22.03.2 this behaviour changed:
I had to modify the code to
if [ $? -ne 0 ] && [ $? -ne 10 ]; then
echo 'error'
exit
else
exit
fi
Because even in case of successful flash of fw.bin, sysupgrade "returns" And the error code '10', even in case of successful flash, is a bit unexpected.