SDK Manager flash to NVMe with flash checkpoint error

I tried to flash 4.6.1 to NX production module with NVMe, using SDK Manager 1.7.3.9053. It always stuck at 99% and finally fail. On the terminal I see from around 87%~98%, it shows on the terminal:

16:34:18 ERROR: Flash Jetson Xavier NX - flash: heckpoint 180000
16:34:29 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 190000
16:34:34 ERROR: Flash Jetson Xavier NX - flash: tar:
16:34:34 ERROR: Flash Jetson Xavier NX - flash: Write checkpoint 200000
16:34:38 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 210000
16:34:41 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 220000
16:34:44 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 230000
16:34:45 ERROR: Flash Jetson Xavier NX - flash: r
16:34:45 ERROR: Flash Jetson Xavier NX - flash: 240000
16:34:48 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 250000
16:34:53 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 260000
16:35:00 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 270000
16:35:02 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 280000
16:35:04 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 290000
16:35:07 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 300000
16:35:09 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 310000
16:35:11 ERROR: Flash Jetson Xavier NX - flash: rite checkpoint 320000
16:35:12 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 330000
16:35:15 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 340000
16:35:17 ERROR: Flash Jetson Xavier NX - flash: ite checkpoint 350000
16:35:30 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 360000
16:35:35 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 370000
16:35:37 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 380000
16:35:38 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 390000
16:35:41 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 400000
16:35:42 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 410000
16:35:44 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 420000
16:36:20 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 430000
16:36:22 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 440000
16:36:23 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 450000
16:36:25 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 460000
16:36:32 ERROR: Flash Jetson Xavier NX - flash: h
16:36:32 ERROR: Flash Jetson Xavier NX - flash: eckpoint 470000
16:36:35 ERROR: Flash Jetson Xavier NX - flash: tar: Write checkpoint 480000
16:36:37 ERROR: Flash Jetson Xavier NX - flash: i
16:36:37 ERROR: Flash Jetson Xavier NX - flash: te checkpoint 490000
16:36:39 ERROR: Flash Jetson Xavier NX - flash: W
16:36:40 ERROR: Flash Jetson Xavier NX - flash: ite checkpoint 500000

What’s the problem?

Thanks.

Hi,

If you use jp4.6, will it flash successfully?

Yes, I was updating from JP 4.6. JP 4.6 OK.

Could you share the full sdkm log?

Where can I find it?

There is a “export logs” in your SDKM GUI.

The log is attached.

BTW: I tried the flash.sh, it seems there is no error, but the board won’t startup.

SDKM_logs_2022-03-28_11-22-48.zip (474.3 KB)

flash.sh does not support to flash NVMe. SDKM is actually using initrd_flash. You can try that.

Won’t ‘sudo ./flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1’ work? And I can’t find ‘initrd_flash’ tool in the L4T folder.

Flash.sh is not able to flash nvme. It can only flash to internal storage.

The definition of “internal storage” is “mmcblk0p1”. For any device not mmcblk0p1, they are external device.
Even if you said “sudo ./flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1”, it will still flash to internal device. But just tell kernel the mount point is nvme0n1p1.

Initrd flash is under this path.

Linux_for_Tegra/tools/kernel_flash

There are three files in that folder, which one should I use?

You should read the readme file first…

If SDKM use this tool too. I think I will get same result with SDKM. So, please see the log attached above. And I will try the .sh tool latter.

Thanks.

@WayneWWW:

I tried the .sh tool, it shows message below and exit finally:


*** no-flash flag enabled. Exiting now... *** 

User can run above saved command in factory environment without 
providing pkc and sbk keys to flash a device

Example:

    $ cd bootloader 
    $ sudo bash ./flashcmd.txt

Save initrd flashing command parameters to ~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra/tools/kernel_flash/initrdflashparam.txt
/tmp/tmp.07XB1TyjMq ~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
/tmp/tmp.07XB1TyjMq/initrd /tmp/tmp.07XB1TyjMq ~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra
66029 blocks
81452 blocks
/tmp/tmp.07XB1TyjMq ~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra
flashimg0=boot0.img
~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra
Success
Cleaning up...
Finish generating flash package.
No devices to flash

What command did you run?

sudo $L4T_DIR/tools/kernel_flash/l4t_initrd_flash.sh jetson-xavier-nx-devkit-emmc nvme0n1p1

Sorry, forgot short the recovery jumper.

Read the readme file please… follow the workflow 3 in readme file.

@WayneWWW

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 8GiB --showlogs jetson-xavier nvme0n1p1

Should I use ‘jetson-xavier-nx-devkit-emmc’ to replace ‘jetson-xavier’?

I use the command below to flash the board:

sudo $L4T_DIR/tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_nvme.xml -S 32GiB --showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1

It finally show:

~/nvidia/nvidia_bsp/xavier_nx/Linux_for_Tegra
***************************************
*                                     *
*  Step 3: Start the flashing process *
*                                     *
***************************************
Waiting for target to boot-up...
Waiting for target to boot-up...
.....
Timeout
Cleaning up...

And there is no output on the DP display. I doubt the system is not up?

Thanks.