I recently purchased the jetson nano along with the Jetson Nano module. As a newcomer to this type of board, I’m unsure about how to get started. I apologize in advance for any lack of understanding. Can someone please guide me through the start process? Thank you!
Did you purchase just a module? Or did it come with a carrier board?
Incidentally, the software NVIDIA publishes will work “out of the box” for their development kit. A dev kit does not have eMMC memory, but it does have some other storage on it which is QSPI memory. Jetsons do not have a BIOS, and so the equivalent of the BIOS plus the boot content is on the QSPI of those models. Only the operating system is on the SD card for those models.
SD card models without eMMC have the SD card slot on the module. eMMC models, if they have an SD card slot, place the slot on the carrier board (not on the module). That’s a good way to figure out which model if you don’t know.
Things change if you have an eMMC model, in part because third parties manufacture the carrier board. The software used on those is “more or less” all NVIDIA, but some pins on the modules (actually, a lot of them) have multiple purposes and they have to be set up during boot as to which purpose they will function. That’s done with the device tree (a form of firmware). The SD card models do this as well, but the difference is that the device tree there is for a known carrier board. If this is the eMMC model, and if the manufacturer made the layout as an exact match to the NVIDIA reference carrier board, then the device tree will match anyway; however, most of the time third party carrier board manufacturers will alter the layout for better physical lane routing of whatever peripherals they add (and of course adding another peripheral also takes added device tree content, not just edited content).
So I am going to assume this is a dev kit without eMMC. If so, then understand that “Linux for Tegra” (“L4T”) is what gets flashed. This is just Ubuntu plus NVIDIA drivers (including what would be BIOS and boot content; on a PC you don’t flash the BIOS when you flash, but you do the equivalent on a Jetson). So you would get the latest release of L4T which is compatible with that hardware. This would be an R32.x release.
JetPack/SDK Manager is a GUI front end to the flash software (the actual flash software is known as the “driver package”, and this understands a Jetson in recovery mode over USB, which is a custom USB device in that mode). The release versions of L4T and the GUI are tied together, so if you pick one, you’ve picked the other.
If you have a third party carrier board, then the manufacturer will provide software, or state that you just use the NVIDIA software. In the case of a manufacturer providing this, it might be in the form of a patch to the existing JetPack, or something which replaces it (and actually is more or less a patched version of what NVIDIA provides).
To find releases, you would check here (remember, L4T R32.x, and check instead with the manufacturer if this is not the dev kit):
Note that there are more limitations on which Linux you can use for flashing as a host PC if you use the GUI, but the GUI simplifies downloading and setting up (it is automatic), so it is recommended. For a Nano, this works on a desktop PC host running either Ubuntu 16.04 or 18.04; obviously, 18.04 is preferred. If you use command line (what the driver package is), then there are some other releases which work, but there are more manual steps. That host PC is needed because there is no BIOS on a Jetson, and so it cannot self-flash. The driver package is itself a desktop PC program designed for Linux.
Getting back to the QSPI, since this sets up boot and environment before loading Linux, the implication is that this must function before an SD card will succeed on a dev kit even if the SD card is 100% functional. You can create an SD card from some premade images, but the QSPI content will prevent this from working if their versions are too far off. This is the same story on eMMC models, but the content is in partitions rather than in QSPI. Imagine adding an operating system to a PC which does not have BIOS content…it wouldn’t work even if you managed to create the o/s partition. So you might find references to the premade images for the SD card model (dev kit), but quite possibly you need to flash it anyway to get the boot content.
If you were to use a VM for the host PC, then you’d probably have a lot of frustration unless you know some details for setting up VMs. What happens is that during flash the Jetson will disconnect and reconnect, but a VM, even if it initially sees the USB device, tends to lose it upon reconnect (making flash fail).
Incidentally, if you go to the L4T release URL and find the most recent compatible R32.x release, there is documentation there. The documents can give you details for that release. Note that there is more than one model of Jetson, so just look for your Nano model in cases where there is different content. If you go to that page, then it will also point to the download for JetPack/SDK Manager, and that is where you would normally start (assuming it is not a third party carrier board).
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.