Consider an actual serial console boot log since these can be searched in a text editor and what occurs earlier in boot might matter.
The release list for L4T is here:
https://developer.nvidia.com/linux-tegra
The release list for JetPack/SDKM is here:
https://developer.nvidia.com/embedded/jetpack-archive
Do know that you don’t have to use JetPack/SDKM if just flashing. If for some reason you have issues with getting a version of L4T you want via JetPack, then instead download the “driver package” and “sample rootfs”. This is what makes up the content here:
~/nvidia/nvidia_sdk/JetPack...version.../Linux_for_Tegra/
When you unpack the driver package, do so as a regular user (don’t use sudo
). This produces subdirectory “Linux_for_Tegra/
”.
Within “Linux_for_Tegra/
” is subdirectory “rootfs/
”. The content of the “sample root filesystem” is what initially populates that subdirectory. You’d need to unpack this into “rootfs/
” as root (do use sudo
).
Then, from “Linux_for_Tegra/
”, you can complete the preparation of “rootfs/
” by running this command:
sudo ./apply_binaries.sh
What this does is take a purely Ubuntu 18.04 in “rootfs/
” and add NVIDIA-specific binaries into that directory. This and all above only needs to be done once. From there flashing on command line is available using that version of driver package plus sample rootfs. This is what JetPack/SDKM would download and unpack on first use, but having this content somewhere without JetPack/SDKM can be useful. This is also the most simplified way to flash.
Once that is in place, and the Jetson is in recovery mode (I’m assuming eMMC model, there would probably be some differences for SD card model which you’d have to adjust for) with the micro-B USB connected, then this should flash:
sudo ./flash.sh jetson-nano-emmc mmcblk0p1
(this puts a slight bit of content into the “rootfs/
” in the “rootfs/boot/
” directory based on boot requirements of the named Jetson model)
You’d be able to complete first boot setup after that. Consider having a monitor/keyboard on the Jetson during flash.
If your content is valuable, then consider clones of each release you want to preserve. Note that you can use dd
to clone an SD card on the host PC, or for an eMMC model, you can clone using flash.sh
. Either way, even with the rootfs cloned, you might need to flash even the SD card model (using that rootfs) rather than simply replacing the SD card (this is due to newer releases perhaps having different boot content in the QSPI memory and not in the SD card).