Flashing to external SSD on AGX Xavier Devkit

Hi,

I have an AGX Xavier Devkit with a 500GB SSD installed. I want to flash Jetpack to this SSD such that the root partition covers almost the entire space. Flashing using Sdkmanager configures the RootFS to be 30GB by default.

I tried Workflow 3 (flashing to an external storage) from the README_initrd_flash.txt file with different parameters. This is the external partition layout file I used - flash_l4t_external.txt (9.7 KB). Following are the commands I tried and the results I got.

  1. sudo ADDITIONAL_DTB_OVERLAY_OPT=“BootOrderNvme.dtbo” ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml --showlogs jetson-agx-xavier-devkit nvme0n1p1
    The device flashes successfully but is unable to boot. The boot gets stuck, as shown in the image below.

  2. sudo ADDITIONAL_DTB_OVERLAY_OPT=“BootOrderNvme.dtbo” ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 -c ./tools/kernel_flash/flash_l4t_external.xml --external-only --showlogs jetson-agx-xavier-devkit nvme0n1p1
    I ran this command after first flashing the EMMC of jetson with Jetpack in an attempt to flash a usable root partition on the SSD while also keeping the device bootable from EMMC. However, this does not flash and gives me the error shown in the image below -

  3. I also tried flashing both the EMMC and the SSD separately using sdkmanager, booting up using the EMMC and using gparted to resize the SSD partitions. However I am unable to do this because some partitions like dtb recovery cannot be resized or moved.

I don’t prefer taking the SSD out from Jetson. How can this boot/flash issue be resolved?

Delete everythin and start over again with STEP 1.
Something in the BSP is missing.

Currently, I used the files generated by sdkmanager and did not download the packages from this link. I read that these two methods generate the same files. Is that right?

Then download the package manually and try again.

Hello,
I tried downloading the package and sample rootfs manually and flashing again. Running the commands given in the Question gives the following unsuccessful results-

  1. Running the initrd flash command with the --external-only flag : The device flashes successfully but on booting, the SSD is not partitioned. The device is just booting from the EMMC which was flashed before.
  2. Running the initrd flash command without the --external-only flag : The device flashes successfully but is unable to boot with the error shown in the image below. This error is different from the one I was receiving before
  3. I also tried using flash.sh with the command sudo ./flash.sh -S 200GiB nvme0n1p1. This did not flash successfully and I got an error as shown in the image below-

My questions are -

  • Which command is actually the correct method to achieve what I want (flash rootfs on SSD installed on AGX Xavier Devkit with the root partition size covering almost the entire SSD). Should I use the regular flash file or the initrd file for this?
  • Is the partition file flash_l4t_external.txt (9.7 KB) I am using fine for this purpose?

Thanks a lot!

Check this and let SDK Manager do the rest:

1 Like

The issue got resolved by copying contents of “flash_l4t_t194_nvme.xml” to “flash_l4t_external.xml” and setting the APPSIZE and NUM_BLOCKS in the file, then using sdkmanager to flash. Seems like the problem was with the partition file. Thanks a lot!

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