# RAUC U-Boot Environment Variables
fatload_mmc=fatload mmc 0:1 ${loadaddr} zImage-fit_${SELECTED_SLOT}.itb
setbootargs=setenv bootargs "console=ttyS0,115200 earlyprintk root=/dev/${BOOT_DEV} ro rootwait rootfstype=ext4 rauc.slot=${SELECTED_SLOT}"
BOOT_ORDER=A B
BOOT_A_LEFT=3
BOOT_B_LEFT=3
boot_dflt=test -n "${BOOT_ORDER}" || setenv BOOT_ORDER "A B"; test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3; test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3; setenv BOOT_DEV; setenv BOOT_SLOT;
boot_scr=run boot_loadvars;run boot_dflt; run boot_slotloop; run boot_save;
boot_testa=if test ${BOOT_A_LEFT} -gt 0; then setexpr BOOT_A_LEFT ${BOOT_A_LEFT} - 1; echo "Found valid slot A, ${BOOT_A_LEFT} attempts remaining"; setenv BOOT_DEV mmcblk1p2; setenv SELECTED_SLOT A; fi
boot_testb=if test ${BOOT_B_LEFT} -gt 0; then setexpr BOOT_B_LEFT ${BOOT_B_LEFT} - 1; echo "Found valid slot B, ${BOOT_B_LEFT} attempts remaining"; setenv BOOT_DEV mmcblk1p3; setenv SELECTED_SLOT B; fi
boot_save=if test -n "${BOOT_DEV}"; then run boot_savevars ; else echo "No valid slot found, resetting tries to 3"; setenv BOOT_A_LEFT 3; setenv BOOT_B_LEFT 3; run boot_savevars; reset; fi
boot_savevars=run setloadaddr ; env export -c ${loadaddr} 0x4000 BOOT_A_LEFT BOOT_B_LEFT BOOT_DEV BOOT_ORDER SELECTED_SLOT ; ext4write ${boot_varsdev} ${loadaddr} ${boot_varsfile} 0x4000
boot_loadvars=run setloadaddr;ext4load ${boot_varsdev} ${loadaddr} ${boot_varsfile};env import -c  ${loadaddr} 0x4000 BOOT_A_LEFT BOOT_B_LEFT BOOT_DEV BOOT_ORDER SELECTED_SLOT
boot_slotloop=for BOOT_SLOT in "${BOOT_ORDER}"; do if test "x${BOOT_DEV}" != "x"; then echo ""; elif test "x${BOOT_SLOT}" = "xA"; then run boot_testa; elif test "x${BOOT_SLOT}" = "xB"; then run boot_testb; fi; done
boot_varsfile=/rauc-uboot.env
boot_varsdev=mmc 0:4
bootcmd=run boot_scr; run setloadaddr; run setbootargs; run fatload_mmc; bootm ${loadaddr}