Software deployment on Jetson nano production modules

Hi all,

After developing a solution on the Jetson nano development board, I’ve been trying to find out if there is a best way of delivering software to the production board.

Is it simply a matter of creating disk images and flashing each one with that same image? Or is there some specialist tool that that is required for deployment?

I’m very new to the Jetson family and embedded systems in general, so any pointers would be really helpful.

Thanks,
Benjamin

I cannot answer completely (I have only one board, no way to test mass flash), but here is some information you may find useful:

  • The rootfs (APP) partition is the actual operating system, and this is what the “bootloader/system.img” is.
  • Other partitions are used for boot, and typically the flash software signs this during flash.
  • Unless there is some boot customization, you don’t need to save custom versions of the other non-rootfs partitions.
  • If you do need to customize those other partitions, then probably this is best done by placing your image in the correct location on the host PC. Reference partitions for non-rootfs tend to get copied from a reference location to a working location, with the working location being signed. Partitions signed for one Jetson may not work for other Jetsons, but generic partitions, when signed during flash, should always work.
  • The parts of a rootfs which might need customization, and not be workable by cloning from one system to another, usually involve serial numbers. Very few systems care about most serial numbers, but in some cases udev may make adjustments to network device naming based on MAC address (which is just a form of serial number). udev (see “/etc/udev/”) should at least be glanced over to make sure there are no hardware-specific rules.
  • If you are selling in California, then you may need to avoid putting default name/pass combinations in. I don’t remember the specifics of the law, but this is why Jetson dev kits used to come with default name/pass, but no longer do. I am only guessing, but I suspect that if the device has unique passwords, then perhaps that law would not matter. Unfortunately, I do not know the name of that law, or where to find it. Someone else may know.
  • If you need to add name/pass to an image prior to flashing, then see:
    https://forums.developer.nvidia.com/t/jetson-nano-all-usb-ports-suddenly-stopped-working/75784/37
    (you’d want the script “l4t_create_default_user.sh”, which is human readable, and could be edited for your use)
1 Like