Hi,
I’m trying to flash a NVMe ssd on a host pc to later connect it to a Orin NX to boot from it.
I followed the guide here: Flashing Support — Jetson Linux Developer Guide documentation and also looked through the different flash scripts myself.
I boiled what I found down to this command:
sudo \
ROOTFS_AB=1 \
ADDITIONAL_DTB_OVERLAY_OPT=“BootOrderNvme.dtbo” \
BOARDID=3767 \
BOARDSKU=1111 \
FAB=TS1 \
./tools/kernel_flash/l4t_initrd_flash.sh \
–direct sda \
–external-device nvme0n1p1 \
–external-only \
-c ./tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml \
-S 10GiB \
–showlogs \
jetson-orin-nano-devkit \
external
I want to use a AB partition layout. I have the NVMe ssd connected to the host pc via a usb dongle, thus the --direct sda. Disclaimer: the BOARDID, BOARDSKU and FAB variables are probably wrong, I couldn’t find the real values neither online nor in the table in the README_initrd_flash.txt file and just tried some of the values mentioned in the jetson-orin-nano-devkit.conf file.
The above command successfully creates two boot images (a and b) but fails to actually flashing them to the ssd. It’s giving me the output:
###################### OUTPUT START ###############################
*** 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 /home/pascal/Documents/Jetson/build/Linux_for_Tegra/tools/kernel_flash/initrdflashparam.txt
/tmp/tmp.UJUqQibD9y /home/pascal/Documents/Jetson/build/Linux_for_Tegra
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
/tmp/tmp.UJUqQibD9y/initrd /tmp/tmp.UJUqQibD9y /home/pascal/Documents/Jetson/build/Linux_for_Tegra
56174 blocks
grep: /home/pascal/Documents/Jetson/build/Linux_for_Tegra/tools/kernel_flash/images/internal/flash.idx: No such file or directory
63579 blocks
/tmp/tmp.UJUqQibD9y /home/pascal/Documents/Jetson/build/Linux_for_Tegra
flashimg0=boot0.img
/home/pascal/Documents/Jetson/build/Linux_for_Tegra
Success
Cleaning up…
Finish generating flash package.
/home/pascal/Documents/Jetson/build/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh --external-only --direct sda --usb-instance direct --device-instance 0 --flash-only --external-device nvme0n1p1 -c “./tools/kernel_flash/flash_l4t_nvme_rootfs_ab.xml” -S 10GiB --direct sda jetson-orin-nano-devkit external
*************************************************************
* *
* Step 1: Start the host connected device flashing process *
* *
*************************************************************
blockdev: cannot open /dev/mmcblk0boot0: No such file or directory
[ 0]: l4t_flash_from_kernel: Starting to create gpt for external device
Active index file is /home/pascal/Documents/Jetson/build/Linux_for_Tegra/tools/kernel_flash/images/external/flash.idx
Number of lines is 18
max_index=17
[ 0]: l4t_flash_from_kernel: Successfully create gpt for external device
[ 0]: l4t_flash_from_kernel: Starting to flash to external device
Active index file is /home/pascal/Documents/Jetson/build/Linux_for_Tegra/tools/kernel_flash/images/external/flash.idx
Number of lines is 18
max_index=17
[ 0]: l4t_flash_from_kernel: Successfully flash the external device
[ 0]: l4t_flash_from_kernel: Flashing success
Success
Cleaning up…
Log is saved to Linux_for_Tegra/initrdlog/flash_direct_0_20241021-170529.log
###################### OUTPUT END ###############################
I also tried to flash the images afterwards with
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --direct sda --flash-only jetson-orin-nano-devkit external
This gave me the same output. What I find suspicious is that the line
“blockdev: cannot open /dev/mmcblk0boot0: No such file or directory” comes from the file l4t_initrd_flash_internal.sh even though I am using the --external-only flag.
Running “sudo partprobe /dev/sda && sudo parted /dev/sda print” afterwards shows nothing. The ssd hasn’t been touched at all. Is this related to me using an usb dongle for the nvme ssd? Could this be an interface problem?
I’m somewhat desperate as I’m running out of ideas and I really don’t want to partition and flash the the ssd by hand. I appreciate any help!