#
# U-Boot bootscript for altbootcmd (dual boot fallback after retries)
#

# After an upgrade, active_system has changed. U-Boot tries to boot this system
# for a number of tries. If the limit is reached, altbootcmd is run instead.
# This is the script that it will run. It has to:
#  * switch back to previous system
#  * reset the firmware update flag
#  * run the regular boot command

if test "${dualboot}" = "yes" && test "${upgrade_available}" = "1"; then
	echo "## Update failed; Rolling back to previous version."
	if test "${active_system}" = "linux_a"; then
		setenv active_system linux_b
		setenv mtdbootpart ${active_system}
		setenv mtdrootfspart ${rootfsvol_b}
		setenv rootfsvol ${rootfsvol_b}
	else
		setenv active_system linux_a
		setenv mtdbootpart ${active_system}
		setenv mtdrootfspart ${rootfsvol_a}
		setenv rootfsvol ${rootfsvol_a}
	fi
	setenv upgrade_available
	setenv bootcount 0
	saveenv
fi
run bootcmd
