Files
Tobias WaldekranzandJoachim Wiberg 97747a95ea common/uboot: Use factory-reset and dev-mode buttons, if available
If the bootloader knows about a factory-reset or dev-mode button, use
them to allow stopping the boot process, and to signal the
factory-reset condition to infix.
2023-10-30 11:24:18 +01:00

44 lines
1.1 KiB
Bash

echo "${slot}: Preparing..."
setenv prepared
if test "${slot}" = "primary"; then
run ixprepblk
elif test "${slot}" = "secondary"; then
run ixprepblk
elif test "${slot}" = "net"; then
run ixprepdhcp
fi
if test "${prepared}" = "ok"; then
echo "${slot}: Validating..."
if iminfo ${ramdisk_addr_r}; then
echo "${slot}: Booting..."
setenv bootargs_user "rauc.slot=${slot}"
if test "${factory_reset}" = "yes"; then
setenv bootargs_user "${bootargs_user} finit.cond=factory-reset"
fi
if test "${dev_mode}" = "yes"; then
setenv bootargs_user "${bootargs_user} finit.cond=dev-mode"
fi
blkmap create boot
blkmap get boot dev blkmapnum
blkmap map boot 0 ${sqblkcnt} mem ${sqaddr}
for conf in "${board}-syslinux.conf syslinux.conf"; do
if test -e blkmap ${blkmapnum} /boot/syslinux/${conf}; then
sysboot blkmap ${blkmapnum} any ${scriptaddr} /boot/syslinux/${conf}
fi
done
blkmap destroy boot
echo "${slot}: ERROR: Boot failed"
else
echo "${slot}: ERROR: Validation failed"
fi
else
echo "${slot}: ERROR: Unable to use slot"
fi