Using sdkmanager I’m able to flash either of JP6 or JP5.1.2 on the EMMC.
However, in either case (I tried both JP6 and JP5.1.2) if I try to install to an NVME drive it fails near the end of installation since the device fails to completely boot (so the sdk times out waiting for it to boot).
Note that if I boot the jetson on the EMMC I’m able to see the NVME drive and format it, partition it etc. So it is definitely getting detected properly.
Here’s the minicom log of my last attempt jetson.log (85.2 KB)
I’ve tried a few different variations of the command on that link without much success always encountering the same problem.
Here’s the latest attempt log, it always fails on not finding the /dev/mmcblk device, which I don’t know why it keeps trying to use that instead of the nvme device.
To be clear the way I’m doing this right now is with and x86 linux computer to which I directly connected the nvme, which is what I understood the instructions to be. If I misundertood the step here let me know.
/home/nvidia/nvidia/nvidia_sdk/JetPack_5.1.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/tools/kernel_flash/l4t_initrd_flash_internal.sh --external-only --direct nvme0n1 --usb-instance direct --device-instance 0 --flash-only --external-device nvme0n1p1 -c "./tools/kernel_flash/flash_l4t_external.xml" --direct nvme0n1 jetson-agx-orin-devkit nvme0n1p1
*************************************************************
* *
* Step 1: Start the host connected device flashing process *
* *
*************************************************************
blockdev: cannot open /dev/mmcblk0boot0: No such file or directory
From there I put my device in recovery mode and did: sudo ./flash.sh jetson-agx-orin-devkit nvme0n1p1
It is also unclear to me if having previously run “sudo ./nvsdkmanager_flash.sh --storage nvme0n1p1” was useful or not to prep the emmc storage
In the end the final issue is that booting on the nvme drive still didn’t work, I had to go into the bios and override the boot order so it would still boot to emmc, but in one of the two commands above the emmc is flashed in a way to mount the nvme as its rootfs, so that booting to emmc still ends up using the nvme under the hood.
So I thought I was out of the weeds and while I did get it working for JP6 (which I think I had missed how important the --direct flashing i had done previously as suggested was to getting that working was)
However, JP6 doesn’t support USB2CAN, but USB2CAN works fine on JP5.1.2
So now I’m back with trying to install JP5.1.2 on my nvme, and just as before I’m getting stuck on needing “blockdev: cannot open /dev/mmcblk0boot0: No such file or directory”, which somehow that issue was fixed in JP6, but in JP5.1.2 the --direct script just will not work.
My understanding of /dev/mmcblk0boot0 is that either somehow the script expects to be run on the target device (aka jetson) or somehow the host is supposed to mount it in some way even though the jetson is in recovery mode?
How can I get that initrd flash script to figure out /dev/mmcblk0boot0? Is that device supposed to show up on the host?