A/B ROOTFS Redundancy: After flashing the ROOTFS AB dual partition on the Orin NX board, the nvbootctrl cannot switch partitions

Hi Nvidia team,
I’m using Jetson Orin NX 16G, and after flashing the ROOTFS AB dual partition, I can’t switch slot by using nvbootctrl.
The command to flash:
sudo ROOTFS_AB=1 ./tools/kernel_flash/l4t_initrd_flash.sh --external-only --external-device nvme0n1 -S 110GiB -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_ab.xml --network usb0 jetson-orin-nano-devkit external
flash log:
flash_1-13_0_20250410-195449.log (31.7 KB)
After flashed the device, I try to use nvbootctrl to switch the slot but fail. The current slot and active is slot A,and I set active slot to B, but I dump-slots-info and find the active slot is still slot A. Can you provide some assistance? I would greatly appreciate it.
the command I ran after the device booted up.
sudo parted -l
[sudo] password for hihonor:
Model: aigo NVMe SSD P3000 512GB (nvme)
Disk /dev/nvme0n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name Flags
3 20.5kB 134MB 134MB A_kernel msftdata
4 134MB 135MB 786kB A_kernel-dtb msftdata
5 135MB 168MB 33.2MB A_reserved_on_user msftdata
6 168MB 302MB 134MB B_kernel msftdata
7 302MB 303MB 786kB B_kernel-dtb msftdata
8 303MB 336MB 33.2MB B_reserved_on_user msftdata
9 336MB 420MB 83.9MB recovery msftdata
10 420MB 421MB 524kB recovery-dtb msftdata
11 421MB 488MB 67.1MB fat32 esp boot, esp
12 488MB 572MB 83.9MB recovery_alt msftdata
13 572MB 572MB 524kB recovery-dtb_alt msftdata
14 572MB 639MB 67.1MB esp_alt msftdata
15 639MB 1059MB 419MB UDA msftdata
16 1059MB 1562MB 503MB reserved msftdata
1 1562MB 120GB 118GB ext4 APP msftdata
2 120GB 238GB 118GB ext4 APP_b msftdata

$ sudo nvbootctrl get-number-slots
2
tegra-ubuntu:~$ sudo nvbootctrl get-current-slot
0
tegra-ubuntu:~$ sudo nvbootctrl dump-slots-info
Current version: 36.3.0
Capsule update status: 1
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0, status: normal
slot: 1, status: normal
hihonor@tegra-ubuntu:~$ sudo nvbootctrl -t rootfs is-rootfs-ab-enabled
tegra-ubuntu:~$ echo $?
1
tegra-ubuntu:~$
tegra-ubuntu:~$ sudo nvbootctrl set-active-boot-slot B
tegra-ubuntu:~$ sudo nvbootctrl dump-slots-info
Current version: 36.3.0
Capsule update status: 1
Current bootloader slot: A
Active bootloader slot: A
num_slots: 2
slot: 0, status: normal
slot: 1, status: normal

hello hanyang369,

you’ll need to reboot the system for switching to other slots.
please also setup serial console to gather the UART logs for checking.

Hi JerryChang,
I have rebooted the device and check. The slot didn’t switch after reboot even I set a different slot as active slot. But I find if I use 0 or 1 to set slot A or slot B, it worked.

hello hanyang369,

I’ve check the the code, it uses int variable to parse the slot number for setting active boot slot.
please use a single digit for nvbootctrl to switch A/B slots.