Use massflash to upgrade from JP4.6 to JP5.1.1, Xavier NX

Hello,

I’m having some issues trying to flash a Xavier NX that has JP4.6 installed to JP5.1.1, using massflash. With this, I’m able to flash the NX with JP4.6 installed, boots ok and I can use the cameras:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh \
 --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme.xml \
 --no-flash -S 200GiB \
--showlogs jetson-xavier-nx-devkit-emmc nvme0n1p1

sudo ./tools/kernel_flash/l4t_initrd_flash.sh \
 --external-device nvme0n1 -c ./tools/kernel_flash/flash_l4t_nvme.xml \
--showlogs --flash-only -S 200GiB \
jetson-xavier-nx-devkit-emmc nvme0n1p1

But when I add the massflash flag and use it, it throws error flashing qspi. After that it boots but there is something wrong on the kernel logs, and after I try to use a camera the capture crashes and the device gets dropped.

Here are the full kernel logs, I also I’m attaching one from a healthy NX with JP5.
kernellog_normal.log (68.9 KB)
kernellog_bad.log (96.0 KB)

Note the initial part on the kernellog_bad.log:

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x4e0f0040]
[    0.000000] Linux version 5.10.104-tegra (root@aartavia-Satellite-S55-B) (aarch64-buildroot-linux-gnu-gcc.br_real (Buildroot 2020.08) 9.3.0, GNU ld (GNU Binutils) 2.33.1) #2 SMP PREEMPT Tue Aug 8 08:56:42 CST 2023
[    0.000000] OF: fdt: memory scan node memory, reg size 48,
[    0.000000] OF: fdt:  - 80000000 ,  2c000000
[    0.000000] OF: fdt:  - ac200000 ,  44800000
[    0.000000] OF: fdt:  - 100000000 ,  180000000
[    0.000000] Machine model: NVIDIA Jetson Xavier NX Developer Kit
[    0.000000] earlycon: tegra_comb_uart0 at MMIO32 0x000000000c168000 (options '')
[    0.000000] printk: bootconsole [tegra_comb_uart0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb0_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb0_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb1_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb1_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb2_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb2_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb3_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] OF: fdt: Reserved memory: failed to reserve memory for node 'fb3_carveout': base 0x0000000000000000, size 0 MiB
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000027fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x00000000abffffff]
[    0.000000]   node   0: [mem 0x00000000ac200000-0x00000000f07fffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x000000027fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000027fffffff]
[    0.000000] On node 0 totalpages: 2033152
[    0.000000]   DMA zone: 7192 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 460288 pages, LIFO batch:63
[    0.000000]   Normal zone: 24576 pages used for memmap
[    0.000000]   Normal zone: 1572864 pages, LIFO batch:63
[    0.000000] cma: Reserved 64 MiB at 0x00000000ec800000

There is the efi: UEFI not found. and also the memory ranges are way different.

I also added:

-p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg"

But I get the same results.

Regards,
Andres
Embedded SW Engineer at RidgeRun
Contact us: support@ridgerun.com
Developers wiki: https://developer.ridgerun.c om/
Website: www.ridgerun.com

Hi andres.artavia,

Are you using Xavier NX or Jetson Nano? (Your topic is in Jetson Nano category)

Are you using the devkit or custom board?

Do you run these commands under the BSP package of JP5.1.1?

Could you share the full serial console log instead of kernel log for further check?

Hi,
Sorry for that, I tagged it wrong its Jetson Xavier NX.
And I do run those commands on JP5.1.1 bsp, We are using a custom board but the same happends with the default bsp without changes. And I’ll try and get the serial logs later today.
Regards,
Andres

I’ve moved your topic to the correct category.

Please also share the exact command you used to flash the board and the full flash log.

Hi,
Sorry it seems its was an issue with a device tree gpio change that caused an error when trying to read spi. Its solved now, I can use this command to make a massflash package and flash without issues now:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1 \
-c ./tools/kernel_flash/flash_l4t_nvme_custom.xml -S 458GiB --showlogs \
--no-flash --massflash 5 --keep --network eth0:192.168.18.85/24:192.168.18.81 \ 
jetson-xavier-nx-custom-emmc nvme0n1p1

Regards,
Andres

1 Like