Rootfs A/B nvme0n1p1 on Xavier NX EMMC failing to flash

Hello folks,
I have been trying to flash my Xavier NX EMMC (8GB) with SSD with rootfs A/B redundancy but facing failure in my attempts. Flashing with nvsdkmanager_flash.sh is working without rootfs A/B redundancy. The Jetpack version being used is L4T 35.5.0 Attaching the initrd logs and terminal logs for reference. Any suggestions/advice will be helpful.

nvflash_log_without_ab.txt (195.7 KB)
nvflash_log_without_ab_initrid.log (35.9 KB)
l4t_initrd_flash_log_ab_wk4.txt (258.2 KB)
l4t_flash_ab_forum.txt (104.4 KB)

I did try this post: A/B rootfs redundancy on Xavier Nx - #3 by WayneWWW but no success

Hi pranavmp1,

Are you using the devkit or custom board for Xavier NX?

copying cfgfile(/home/ubuntu/work/l4t_35.5.0_stock/Linux_for_Tegra/tools/kernel_flash/flash_l4t_nvme.xml) to flash.xml... done.

Do you want to enable rootfs a/b in NVMe SSD?
If so, this partition layout file is wrong.

Please share the full commands you used in these 2 logs.

Yes I am using the devkit. Yes, I want to enable rootfs a/b for NVMe SSD.

For the flashing process seen in l4t_initrd_flash_log_ab_wk4.txt, I have used the flash command as mentioned in workflow 4, tools/kernel_flash/README_initrd_flash.txt.

sudo ROOTFS_AB=1 ROOTFS_RETRY_COUNT_MAX=1 ROOTFSSIZE=60GiB ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1       -c tools/kernel_flash/flash_l4t_external.xml       -p "-c bootloader/t186ref/cfg/flash_t194_uefi_spi_emmc_p3668.xml --no-systemimg" --network usb0  jetson-xavier-nx-devkit-emmc external

For the flashing process seen in l4t_flash_ab_forum.txt, as per this forum post by Wayne

ssudo ROOTFS_AB=1 ROOTFSSIZE=60GiB ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml -S 60GiB --showlogs jetson-xavier external

In your second command, jetson-xavier is the board config used for AGX Xavier.
Please use jetson-xavier-nx-devkit-emmc instead if you are using Xavier NX eMMC module.

So i tried with this command and it is still failing saying flash.idx not found. I am attaching the log for the same

 sudo ROOTFS_AB=1 ROOTFSSIZE=60GiB ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml -S 60GiB --showlogs jetson-xavier-nx-devkit-emmc external

l4t_flash_xnx_ab_forum.txt (98.2 KB)

copying cfgfile(/home/ubuntu/work/l4t_35.5.0_stock/Linux_for_Tegra/tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml) to flash.xml... done.
..
[   0.6707 ] End sector for APP, expected at: 122159070, actual: 0

It seems you have the size issue in partition layout file.

Please share <Linux_for_Tegra>/tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml as file here for further check.

flash_l4t_nvme_rootfs_ab.txt (11.2 KB)
I am sharing it as .txt file as the forum is not allowing me to upload as .xml.

What’s the physical size of your SSD?

You can refer to the following thread for the relation in size.
How to solve the issue that ssd are not entiely availiable after full disk encryption - #5 by KevinFFF
Maybe you should configure the following line in your partition layout file.

    <device type="external" instance="0" sector_size="512" num_sectors="NUM_SECTORS">

This is working. It is working after setting the NUM_SECTORS and APP_SIZE in the XML file. Thanks for the help!

1 Like

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