Developer Kit vs Module and Flashing Clairifcation

I’ve inherited a Jetson Nano that no longer has any of the original packaging, so I’m trying to clarify what I actually have here. From reading the stickies and various forum posts, I’ve made the following conclusions that I’d like to verify if they’re correct:

1: If it has an SD card slot (which this one does), it’s a Nano Developer Kit, whereas if it didn’t, it’d be the Production Module kit (aka simply a Jetson Nano).

2: The Module kits only have a eMMC, but the developer kits have both an SD card slot and an eMMC.

And lastly, provided 1 and 2 are true, if I’m using the flash.sh script to load an OS filesystem onto the nano dev kit while it has an SD card inserted over the micro-USB interface from a host machine, is flash.sh only writing to the removable SD card, or is it also writing things to the board? I.e. would it need a factory reset if I used flash.sh with a bad, unbootable image?

Thanks,

-MRL

Hi,

Your understanding is not fully correct.

  1. You need to have a concept about the difference of a “module” and “carrier board”. There is actually nothing called “module kits”. Just module and carrier board. It is just NV developer kit is one kind of carrier board that officially released from NV.

  2. There are two kinds of “modules”. Sdcard module and eMMC module. When it has emmc, it won’t have sdcard slot on it and vice versa.

  3. Sdcard module is only sold with NV developer kit carrier board. eMMC module is sold single because it is for production for vendors who have their own carrier board. For example, it won’t be practical for a vendor to buy Developer kit, remove the sdcard module from NV devkit carrier board and put that module onto their own product…

  4. Some vendors made their “carrier board” that has a sdcard slot. Thus, you need to really understand whether the slot is on module or on devkit to tell what kind of module you are really using.

  5. Sdkmanager will reflash the bootloader and rootfs into the board. If it is emmc module, then both of them will be in emmc.
    If it is a sdcard module, then bootloader on QSPI will be updated and rootfs in sdcard will be updated.

I want to add that there is firmware in the form of a device tree which tells the module what pin is for which function when routing lanes to the carrier board. Manufacturers of carrier boards are able to choose a lane routing which is a match to what the dev kits come with, and if they do, then you don’t need their device tree. On the other hand, many third party carrier boards have an alternate layout, and you’d have to use their flash software. That software might be in the form of a patch to NVIDIA’s software, or it might be a rebranded flash software (the board support package). You have to check with the carrier board manufacturer for what the flash software is that will be used (perhaps they will state that this uses the NVIDIA flash software, and in that case, their carrier board is an exact match for the dev kit carrier board).

Also, to expand on that SD card slot, the models which have the SD slot on the module itself will use different software than the ones which have the slot on the carrier board. There are basically two reasons for that: One is that lane routing differs, and the other is that boot chain software will differ…the models with SD card on the module use that for the o/s, whereas the models with the SD on the carrier board expect a module with eMMC memory to boot to, and the SD card is supplemental (there might be ways to boot to the SD slot on the carrier board, but that is a special case).

Whenever the flash software from NVIDIA is used the target is designated, and the name of the target is really a combination of the module type and the carrier board type. An SD card on the module is named differently (a dev kit) than is one with an SD card on the carrier board (a third party device from some other manufacturer).

Understood, thanks for your responses - I’m coming from strictly a software sense and have not much firmware or hardware experience.
The SD card slot is located on the module, so this is telling me this is a first-party developer kit from Nvidia. And if I’m understanding this correctly, by using SDK manager to flash it, the filesystem is flashed onto the SD card and the bootloader is flashed to the board itself via QSPI. Because of this, if I were to have 2 SD cards with the identical versions of L4T on them, but the rootfs on each was slightly different (let’s say each one has different files under /home/user/), would these 2 SD cards both be interchangeable and bootable without reflashing the nano, since the corresponding bootloader which is the part on the board hasn’t changed?

Thanks,

-Matt

In theory, once you’ve flashed a recent QSPI into the module, then similar SD cards would work. If they come from the same release and use the same kernel, but have customizations, then I see no reason why they would not be interchangeable. You might also get away with different kernel builds if they are both within acceptable configuration (if there is an initrd required, then this would complicate making them interchangeable unless each has its own custom initrd).

Yes, the answer from linuxdev is correct. It sounds interchangeable.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.