*** Please note that this reply is generated by LLM automatically ***
Based on the provided context, I’ll address the questions and concerns raised by the user.
Issue Description:
The user is experiencing an issue with UEFI capsule AB update on Jetson AGX Orin. When the device loses power during the bootloader update, the other boot slot becomes corrupt. After a rollback, the system enters a continuous boot loop when rebooting from software.
Reproduction Steps:
- Set
RootfsStatus to otherslot using setefivar.
- Copy the capsule file to
boot/efi/EFI/UpdateCapsule.
- Set
OsIndications to the specified value using setefivar.
- Reboot the device.
- Cut power during the bootloader update.
- Power on again, and the system rolls back to the previous boot slot.
- Reboot from software using
sudo reboot, resulting in a continuous boot loop.
Escaping the Boot Loop:
To escape the boot loop after a rollback, you can try the following:
- Check the
Capsule update status using the nvbootctrl command. If the status is not successful (value 1), you may need to retry the update process.
- Verify that the
RootfsStatus is set to the correct value (either otherslot or currentslot) using setefivar.
- Ensure that the
OsIndications variable is set correctly to trigger the update process.
- If the issue persists, try resetting the
OsIndications variable to its default value (0x00) and then retry the update process.
Intended Way to Perform Fail-Safe Update:
The provided context does not explicitly describe the intended way to perform a fail-safe update. However, based on the information provided, it appears that the user is following a correct approach:
- Setting
RootfsStatus to otherslot to indicate that the update should be applied to the other boot slot.
- Copying the capsule file to the
boot/efi/EFI/UpdateCapsule directory.
- Setting
OsIndications to trigger the update process.
However, it is essential to note that the user is using an external NVMe drive for the root file system, which may introduce additional complexity to the update process.
Comparison with the Provided Context:
The provided context describes the process for generating a specified partition BUP image and updating the bootloader using a capsule payload. The user’s approach seems to be consistent with this process, but the issue arises when the device loses power during the update process.
To minimize the risk of corruption and ensure a successful update, it is recommended to:
- Use a reliable power source during the update process.
- Verify the
Capsule update status after the update process to ensure it was successful.
- Regularly back up the root file system to prevent data loss in case of a failure.
In summary, the user’s approach seems to be correct, but the issue arises due to the device losing power during the update process. To escape the boot loop, the user can try resetting the OsIndications variable and retrying the update process. To perform a fail-safe update, it is essential to follow the recommended process and take necessary precautions to minimize the risk of corruption.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***