Rootfs A/B not enabled on Nvidia Jetson Orin Nano Dev board
Issue Overview
Users of the Nvidia Jetson Orin Nano Dev board are encountering an issue where the Rootfs A/B partitioning scheme appears to be not enabled, despite attempts to flash encrypted A/B partitions. When running the command nvbootctrl -t rootfs dump-slots-info
after a successful flash and system boot, the output indicates that "RootFS A/B is not enabled". However, the bootloader slots seem to be correctly configured, as nvbootctrl -t bootloader dump-slots-info
shows two slots present with "normal" status.
Possible Causes
-
Incorrect flashing procedure: The flashing commands or process may not be correctly implementing the A/B partitioning scheme.
-
Configuration mismatch: There might be a discrepancy between the bootloader configuration and the rootfs configuration.
-
Software bug: A potential bug in the Jetson Linux 35.4.1 release could be preventing proper A/B rootfs enablement.
-
Partition layout issues: The partition layout might not be correctly set up for A/B rootfs support.
-
Environment variable oversight: The ROOTFS_AB environment variable may not be consistently applied across all flashing steps.
Troubleshooting Steps, Solutions & Fixes
-
Verify partition layout:
Examine the partition layout to ensure A/B partitions are correctly created:ls -la /dev/disk/by-partlabel/
Look for partitions labeled APP, APP_b, APP_ENC, and APP_ENC_b.
-
Apply ROOTFS_AB consistently:
Ensure the ROOTFS_AB environment variable is set for all flashing steps. Modify your flashing commands as follows:sudo ROOTFS_AB=1 ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --network usb0 --no-flash --showlogs -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml" jetson-orin-nano-devkit internal sudo ROOTFS_AB=1 ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --no-flash --external-device nvme0n1p1 -i ./sym2_t234.key -c ./tools/kernel_flash/flash_l4t_t234_nvme_rootfs_ab_enc.xml -S 160GiB --external-only --append --network usb0 jetson-orin-nano-devkit external sudo ROOTFS_AB=1 ROOTFS_RETRY_COUNT_MAX=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 --flash-only
-
Check Jetson Linux version:
Verify the exact Jetson Linux version:cat /etc/nv_tegra_release
Ensure you’re using the latest available version (35.4.1 as of the reported issue).
-
Examine flash logs:
Review the flash logs for any errors or warnings related to A/B partitioning:cat Linux_for_Tegra/initrdlog/flash_1-10_0_*.log
Look for messages about A/B partition creation or configuration.
-
Verify bootloader configuration:
Check if the bootloader is correctly configured for A/B support:sudo nvbootctrl -t bootloader dump-slots-info
Ensure both slots are present and in "normal" status.
-
Manually enable A/B rootfs:
If the issue persists, try manually enabling A/B rootfs:sudo nvbootctrl -t rootfs enable-ab
Reboot the system and check if A/B is now enabled.
-
Reflash with verbose output:
Perform a complete reflash with verbose logging enabled:sudo ROOTFS_AB=1 ROOTFS_ENC=1 ./tools/kernel_flash/l4t_initrd_flash.sh --showlogs --network usb0 -v jetson-orin-nano-devkit mmcblk0p1
This may provide more detailed information about the A/B configuration process.
-
Check for known issues:
Visit the NVIDIA Developer Forums and search for similar issues with Rootfs A/B on Jetson Orin Nano. There may be known bugs or workarounds specific to your hardware or software version. -
Update Jetson Linux:
If possible, try updating to the latest Jetson Linux release, as the issue might have been addressed in a newer version.
If none of these steps resolve the issue, consider reaching out to NVIDIA support or posting a detailed report on the NVIDIA Developer Forums, including your exact hardware configuration, Jetson Linux version, and the complete flash logs.