I have been able to successfully flash the DevKit with SDK Manager via a Docker image. This results in the DevKit running with its full power, with a full graphical Jetson Linux environment and all the Nvidia tools seem to work. As far as I can tell, however, the SDK Manager does not support these emulation images. Is this correct?
All documentation I’ve read about this emulation support points at flash.sh, which I have also tried, but haven’t gotten it to work. The script runs successfully, but when I try to boot the DevKit (when connected to a screen, keyboard and mouse), I see the Nvidia logo and BIOS (letting me choose boot device etc.) but then after that step I just get a black screen. Trying to get to TTY (via Ctrl + Alt + F1, F2 etc.) does nothing. Just a black screen. Also, when it’s connected to my host computer via the USB A-C cable I used for flashing, the Jetson DevKit does not show up on lsusb (unless I boot it into recovery mode).
I am a bit at a loss here. Am I missing something about flash.sh, where you are supposed to do something else in order to get a bootable, graphical system? Is it possible to flash emulation images via the SDK Manager?
After some further messing about, I think I’ve solved it.
For anyone visiting from the future, here’s what I found out:
The OS requirements of SDK Manager seem to apply to flash.sh as well. If you, like me, are running a more modern OS on the host than what flash.sh supports, you can run flash.sh from the same Docker container as SDK Manager.
Assuming you have set up the SDK Manager’s Docker container as described in SDK Manager | NVIDIA Developer, giving the latest version the name “sdkmanager”, you can then do something like
This will boot you into bash inside the Docker container, with a folder called ~/nvidia on the host being mounted as /nvidia in the container. To this folder, you can download what you need for flash.sh (Jetson Linux Archive | NVIDIA Developer) and then run something like
export L4T_RELEASE_PACKAGE=Jetson_Linux_R35.3.1_aarch64.tbz2
export SAMPLE_FS_PACKAGE=Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2
export BOARD=jetson-agx-orin-devkit
tar xf ${L4T_RELEASE_PACKAGE}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
cd ..
sudo ./apply_binaries.sh
sudo tools/l4t_flash_prerequisites.sh
sudo ./flash.sh jetson-agx-orin-devkit-as-nano8gb mmcblk0p1 &> /nvidia/flash_log.txt
And you should get a bootable system in emulated mode.
Apparently, flashing with jetson-agx-orin-devkit-as-nx-16gb does not work, whereas jetson-agx-orin-devkit-as-nx-8gb and jetson-agx-orin-devkit-as-nano8gb do work. Perhaps something wrong with the .conf file for the NX 16 GB emulation?
As I previously suspected, there is a bug in jetson-agx-orin-devkit-as-nx-16gb.conf.
You need to move the line CMDLINE_ADD="${CMDLINE_ADD} mem=16G"; from inside the if-statement to outside of the if-statement for it to work. Then, everything works as intended.
Hi,
we’d like you to confirm the information of modules you are using.
Can you run the following command on the device and tell us what does it show? i2cdump -y 0 0x50
Hi,
we can flash the board with jetson-agx-orin-devkit-as-nx-16gb.conf unmodified,
i.e., keeping the mem=16G line inside the if statement.
Can you provide the burning log when you fail to flash your AGX Orin as Orin NX 16GB?
I need my Jetson in a working state for the next few days, but let me get back to you when I have the opportunity to break it :) As far as I can remember, there were no obvious error messages in the burning log.
There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks
Connect the micro USB port of your AGX Orin to your host PC, and you should see /dev/ttyACM0 on your host.
Then setup connections with tools like picocom on your host: