Using Orin AGX to emulate Orin NX with filesystem on NVMe SSD

Hi, I’m trying to flash an Orin AGX 64GB to emulate a Orin NX 16GB, with the root filesystem on an NVME SSD drive. I’m using Jetpack 35.3.1 (i.e. 5.1.1).

I can successfully flash on the the eMMC using the steps here

sudo ./flash.sh jetson-agx-orin-devkit-as-nx16gb mmcblk0p1

But I’m trying to flash the filesystem on the SSD, which is 500GB rather than the 64GB eMMC.

I’ve tried following the instructions here,
namely:

Stage 0:
(With Jetson disconnected)

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ../../../configs/nvme/external_500gb.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 --no-flash jetson-agx-orin-devkit-as-nx-16gb external            

Stage 1:
plug in Jetson AGX and run

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ../../../configs/nvme/external_500gb.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 --use-backup-image jetson-agx-orin-devkit external

(flash logs attached)

After I flash it starts to boot then I get :

...
[0000.473] C> Boot Info Table status dump :
1
[0000.477] I> Busy Spin

Then no more output. Is there a recommended way to:

Hi,

Sorry for the late reply.
What’s the purpose of using your customized partition layout?
Does using the default one make any difference?

The custom xml file was so I could use a 500gb NVME drive rather than the 100GB drive in the example, but I’ve tried again using the flash_l4t_external.xml file:

  1. With AGX disconnected:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 --no-flash jetson-agx-orin-devkit-as-nx-16gb external 2>&1 > flashlog_default_stage0.txt

0.5: Now reflash the board to default state:
May not be needed, my board was being difficult:

sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1
  1. With AGX Connected:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml -p "-c bootloader/t186ref/cfg/flash_t234_qspi.xml --no-systemimg" --network usb0 --use-backup-image jetson-agx-orin-devkit external

And the stage 1 log says that the flash was successful:

Flash is successful
Reboot device
Cleaning up...

but then I see the same behaviour after booting (see bootlog.txt):

...
[0000.449] E> BL_CARVEOUT: Failed to allocate memory of size 0x36800000 for CO:44.
[0000.456] C> Task 0x0 failed (err: 0x49490003)
[0000.460] E> Top caller module: BL_CARVEOUT, error module: BL_CARVEOUT, reason: 0x03, aux_info: 0x00
[0000.469] C> Boot Info Table status dump :
1
[0000.473] I> Busy Spin

bootlog.txt (4.5 KB)
flashlog_default_stage0.txt (212.1 KB)
flashlog_default_stage1.txt (126.8 KB)

Are you using a DevKit or a custom board?
I verified the workflow locally on my DevKit and it was working.

This is with the Orin AGX 64GB devkit and a Ubuntu 20.04 host. Do you have any suggestions on what else I could try?

Would it work if you flash the NVMe drive without all the emulation stuff?

OK, I abandoned the approach above and it’s now working with:

sudo ./flash.sh jetson-agx-orin-devkit-as-nx-16gb external

Which appears to flash directly to the external drive; I’m not sure what the difference is between this one-stage approach and the two-stage one.

One thing to note is that this approach sets up the memory wrongly and it allocates 32GB to the board instead of the 16GB requested. Edit the /boot/extlinux/extlinux.conf file and add mem=16G to the end of the APPEND line to fix this:

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/dtb/kernel_tegra234-p3701-0000-as-p3767-0000-p3737-0000.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} root=PARTUUID=xxxx-xxxx-xxxx rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 console=ttyAMA0,115200 console=tty0 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 mem=16G

Thanks.

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