Skip to content

Instantly share code, notes, and snippets.

@maugsburger
Last active February 1, 2019 14:30
Show Gist options
  • Save maugsburger/cafb38378356b6ce60acaa5a12108099 to your computer and use it in GitHub Desktop.
Save maugsburger/cafb38378356b6ce60acaa5a12108099 to your computer and use it in GitHub Desktop.
mocking around to make it safer
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 bootargs
for BOOT_SLOT in "${BOOT_ORDER}"; do
if test "x${bootargs}" != "x"; then
# skip remaining slots
elif test "x${BOOT_SLOT}" = "xA"; then
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 load_kernel "nand read ${kernel_loadaddr} ${kernel_a_nandoffset} ${kernel_size}"
setenv bootargs "${default_bootargs} root=/dev/mmcblk0p1 rauc.slot=A"
setenv rauc 1
fi
elif test "x${BOOT_SLOT}" = "xB"; then
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 load_kernel "nand read ${kernel_loadaddr} ${kernel_b_nandoffset} ${kernel_size}"
setenv bootargs "${default_bootargs} root=/dev/mmcblk0p2 rauc.slot=B"
setenv rauc 1
fi
fi
done
if test -n "${rauc}"; then
setenv rauc
saveenv
echo "Loading kernel"
run load_kernel
echo " Starting kernel"
bootm ${loadaddr_kernel}
reset
elif test -n "${bootargs}"; then
saveenv
else
echo "No valid slot found, resetting tries to 3"
setenv BOOT_A_LEFT 3
setenv BOOT_B_LEFT 3
saveenv
reset
fi
echo "Loading kernel"
run load_kernel
echo " Starting kernel"
bootm ${loadaddr_kernel}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment