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

  1. Incorrect flashing procedure: The flashing commands or process may not be correctly implementing the A/B partitioning scheme.

  2. Configuration mismatch: There might be a discrepancy between the bootloader configuration and the rootfs configuration.

  3. Software bug: A potential bug in the Jetson Linux 35.4.1 release could be preventing proper A/B rootfs enablement.

  4. Partition layout issues: The partition layout might not be correctly set up for A/B rootfs support.

  5. Environment variable oversight: The ROOTFS_AB environment variable may not be consistently applied across all flashing steps.

Troubleshooting Steps, Solutions & Fixes

  1. 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.

  2. 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
    
  3. 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).

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *