Logic of AB partition switching for bootloader of Orin board

I am using Orin board version 35.2, and I would like to know the specific logic of the Orin board’s AB partition switching for bootloader, as well as where the read and write operations for partition status are performed.
I have read the official document, but I feel that it is not very specific.
Update and Redundancy

Hi, I am moving this topic to the Jetson section for visibility.

Hi shuochong.liu,

Are you using the devkit or custom board for AGX Orin?

What’s the exact logic of AB partition for bootloader you would like to know?

You could use the following command to check current slot info.

$ sudo nvbootctrl dump-slots-info

I am using a customized board, but the boot loader has not been changed.
I would like to know when the status bits and attempts of the AB partition were modified?
Where are the attempts stored?
When was the state in the register written to BOOTROM?
Thank You

It’s stored in scratch register for BootRom.
You could also refer to the following flowchart for its logic.
Update and Redundancy — Bootloader Implementation

How to modify the partition status stored in scratch register on a Linux terminal?

What’s your exact use case to modify the partition status in scratch register?

If you want to change the boot slot, you could just use nvbootctrl set-active-boot-slot.

The application scenario is as follows: if the A partition of rootfs cannot start for some reason, I switch to the B partition. At this point, the status of partition A is unbootable. I restored partition A using mount on partition B, and then set nvbootctrl set active boot slot to 0. I hope rootfs can start from partition A, but because the status of partition A is unbootable, rootfs still starts from partition B.
I want to know how to modify unbootable to normal.
Thank You.

You could refer to the The methods to restore corrupted rootfs slot section in the following topic.
Rootfs A/B redundancy fail-over mechanism in Jetpack5.1 - Jetson & Embedded Systems / Jetson Xavier NX - NVIDIA Developer Forums

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.