Which devkit and developer guide I need in order to learn how to customize an Orin NX module in general and flashing it with custom kernel in particular (AGX/Other)?
Which Ubuntu version is needed on my host in order to flash the Orin NX module with JP 5.1.1 and later
I have some experience with Xavier NX module and don’t know if the rootfs/kernel customization and flashing processes are the same.
Although Ubuntu 18.04 will work as the host, 20.04 is recommended.
JetPack is flash software, and SDK Manager is a network layer on top of that. Linux for Tegra (“L4T”) is what actually gets flashed (which is Ubuntu plus NVIDIA drivers; at this point it is always Ubuntu 20.04). JetPack/SDKM and L4T have their releases tied together. You can find your L4T release with “head -n 1 /etc/nv_tegra_release”. You can then go to the documents and software for that particular release at: https://developer.nvidia.com/linux-tegra
Note that the Xavier can use an earlier Ubuntu 18.04, the Orin cannot. You’d still be able to use a 20.04 host PC for working with either, although if the Xavier runs the older Ubuntu 18.04, then maybe the 18.04 host PC would be slightly better.
Note that L4T R32.x installs Ubuntu 18.04, and L4T R34.x+ installs Ubuntu 20.04. Xavier can use either, Orin can only use the newer one.
All Orins share the same suggestions. They basically use the same system on a chip (SoC), or subsets. The drivers and available software are in general the same. Some setup differs, e.g., different device trees, but the flash software is normally the same thing, and picking the flash target picks those differences. The host PC would not differ.
Some Orins were developed more recently than others (they are different “footprints”). The L4T release is what actually gets flashed, and is a combination of Ubuntu and NVIDIA drivers (in this case, for Orin, Ubuntu 20.04). You can see which models are compatible with which R35.x L4T at: https://developer.nvidia.com/linux-tegra
Incidentally, if your carrier board is an identical layout to the dev kit, then it uses the same device tree. If it differs, then you will mostly use the same software above, except that it will edit parts of the device tree describing the edited layout portions.
You will want a lot of disk space.
EDIT: My own curiosity makes me ask, what brand/model of logic analyzer and/or MSO type hardware do you use for working on this?
It’s just something I’m personally thinking about. When developing a carrier board I would expect needing a logic analyzer, but I have no idea what brands and models are sufficient when developing a carrier board. Also, a Mixed Signal Oscilloscope, capable of both analog and digital traces, and having its own logic analyzer (and often other functions, e.g., measuring rise time or Fourier decomposition), would be quite useful (an ordinary oscilloscope would also be useful, just not nearly as useful). One could purchase a very expensive unit (I am not “one”…and it isn’t even my money, but a budget would be very limited), and so I am wondering what ideas to think about for models of logic analyzer and oscilloscope that might be useful if designing a carrier board. I figured you use such hardware, and I’ve not run into anyone who could give me useful model numbers (the few I’ve run into simply have company units costing anywhere from a quarter of a million dollars and up).