Backing up system.img from nVME on Xavier NX

Hi everyone,

I’ve been working with nVME booting from a Jetson Xavier NX lately using the initrd flash script on JetPack 4.6 and so far it has been working great.

I’ve got a couple of questions now regarding the process of backing up the nVME APP image from the flashed board and reusing it, as one would do when backing up the one from eMMC:

sudo ./ -r -k APP -G backup.img jetson-xavier-nx-devkit-emmc mmcblk0p1

But for the nVME, using the following

sudo ./ -r -k APP -G backup.img jetson-xavier-nx-devkit-emmc nvme0n1p1

I can’t get the nVME APP image, but I keep getting the eMMC one, I even tried adding more flags to the script but the same happens:

BOOTDEV=nvme0n1p1 sudo ./ -r -k APP -G backup.img --no-flash --sign --external-device jetson-xavier-nx-devkit-emmc nvme0n1p1

When using the configuration file used for the partition table of the nVME in the initrd flash script with the -c switch,

-c "./tools/kernel_flash/flash_l4t_nvme.xml"

It just fails with this message:

[   4.7342 ] Updating mb1-bct with storage information
[   4.7368 ] tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin
[   4.7383 ] MB1-BCT version: 0x1
[   4.7387 ] There is no MB1-BCT device type corresponding to pt type: 9
[   4.7530 ] 
Error: Return value 2
Command tegrabct_v2 --chip 0x19 --mb1bct mb1_cold_boot_bct_MB1.bct --updatestorageinfo flash.xml.bin

Does this mean the support for cloning the system.img from the nVME is not available yet? Or is there any other method that I should follow in order to clone an image from the nVME APP partition?

Roberto Gutierrez,
Embedded Software Engineer,

Hi, is not able to touch anything on external drive. Just like it cannot directly flash anything to your external drive.

Initrd flash tool may help here.

Thanks @WayneWWW,

I used the initrd flash tool to flash the external drive, but I can’t find any option to clone the system.img from the external drive directly, will look on the internals of it. Thank you.


If you were to add a customization to the initrd, and that customization had netcat or ssh and dd, then if ethernet is up and running, perhaps you could create some sort of simple way to clone. You haven’t said much about the motivation for this, e.g., for development only versus in the field, so on, but there might be options if you can customize the initrd.