I made my own rootfs for the orin nano dev kit.
Over the normal use of it, I sometimes need to reboot the platform, by issuing the command
sudo reboot
If I do that 3 times in a row, L4TLauncher will refuse to start my rootfs and try to start into recovery mode. I have to go into the UEFI Setup to mark the A rootfs as “normal” instead of “unbootable”.
Somehow there must be something that a normal rootfs does to reset the retry count that mine isn’t doing, but after searching for many hours I’ve not been able to find it. It seems that although my system runs perfectly fine, to the bootloader it looks like it’s failing, forcing a recovery after 3 “normal” software reboots.
It seems I’ve found the root cause.
I noticed that the nv-l4t-bootloader-config service had errors:
nv-l4t-bootloader-config.sh[1266]: /opt/nvidia/l4t-bootloader-config/nv-l4t-bootloader-config.sh: line 548: i2cget: command not found
nv-l4t-bootloader-config.sh[1212]: WARNING. Read i2c-0 slave addr: 0x50 failed.
nv-l4t-bootloader-config.sh[1212]: Warning: Cannot get compatible board name.
nv-l4t-bootloader-config.sh[1212]: ERROR. Unsupported board ID: .
nv-l4t-bootloader-config.sh[1212]: Exiting...
After installing i2c-tools, the problem is gone.
I’m still not sure what exactly the script does that actually resets the retry count, but now I can reboot my board and L4TLauncher is happy to ‘direct boot’ it over and over again.