Knowing the mechanics won’t happen without the log. Serial console logs include boot stage content before the Linux kernel ever loads. If serial console is truly not putting anything out, even in boot stages, then either it is hardware failure or it needs to be flashed again. The bootloader itself is at the tail of the boot content. There is content prior to that.
Jetsons do not have a BIOS. What they have is the equivalent in software, and this too is part of serial console (although the boot software has “quiet” versions and can have a “verbose” version flashed).
Yes, no WiFi or Ethernet does answer that question.
So far as the swapping of carrier boards goes, were they both flashed to use NVMe? Incidentally, I would think that part of that test is a valid step, but if the rootfs is designated by a partition UID, and if the other NVMe has a different UID for the partition, then it will still fail to find the rootfs. Serial console log would say something if it is functioning.
If the original module is not flashed to use NVMe, then probably this won’t say anything. If the module appears to not turn on for one carrier board, but does turn on for the other, then that is a valid test of power delivery, but not of software.
Your test is a good test, but you still need a serial console boot log from when it was failing. This could indeed be QSPI, but there are also non-rootfs partitions which take part in boot. Sometimes the layout is optional, e.g., some content, including device tree, can be loaded either from a partition or from rootfs (not QSPI). If the path and spec for device tree exists in extlinux.conf
and points to the rootfs, then that is loaded; if this is missing, then the partition is loaded. If security fuses are burned, then only the partition version is loaded, and any extlinux.conf
or /boot
content is ignored. Binary partitions are always signed, and those too will fail if not signed (consider that no security fuse burned still signs, but it is a NULL signature). It is really really difficult to pin anything down without that serial log from when it is failing. Yes, it might be QSPI. It might not.
Add to this that the initrd
has multiple ways to load, and one can have otherwise exactly matching binary partitions and QSPI, but one might fail while the other does not if the initrd
differs. One always uses an initrd
for external media boot (meaning rootfs on external media; simply having external media as secondary storage does not complicate anything). A serial console log would show the start of initrd load, and if it is in a binary partition versus on /boot
of the eMMC (often, if you use external media for boot, there is still content in the /boot
of eMMC due to chain loading). The log would answer this, but we don’t have the serial console log.
I will tell you something that is quite useful if you are in charge of creating and managing and supporting a Jetson. You should keep a reference serial console boot log to study for each configuration. For example, you’ve just finished flashing a dozen Orin NXs in the same way. Save a serial console boot log of one. Then if something goes wrong, you can compare to the serial console boot log of the failed unit.
It might be QSPI. It might not. Your flash has updated:
- QSPI
- Binary partitions
- initrd