JetPack 4.4 headless setup broken

…the above confirms the unit is (at least for basics) running correctly.

After a flash ethernet should run normally when connected to a router/DHCP server. The user/pass is the trick here…there is none unless you completed the first boot setup to create that account. Typically one would do this either locally via monitor/keyboard, or via serial console if headless. Since you are having issues with serial console the implication is that (at least for first boot) you may need to add a monitor/keyboard.

There is an alternate method of adding the admin account/pass if you are flashing from a Linux host (there are all kinds of variations on this, but all run on Linux). See:
https://forums.developer.nvidia.com/t/jetson-nano-all-usb-ports-suddenly-stopped-working/75784/37
…download that script:
https://forums.developer.nvidia.com/uploads/short-url/xMF6uijxdcBfNYWQxDNcQEWEmOJ.gz

What this does is to use QEMU to add the name/pass chroot into the “Linux_for_Tegra/rootfs/etc/...files...”. So you need to run this from the “Linux_for_Tegra/” directory using the same content used for flashing. I have not seen this used with the prepackaged SD card images, but I suspect that if you mount (either actual mount or loopback mount) the rootfs partition of the SD card to the “Linux_for_Tegra/rootfs/” location, then it would work directly on the SD card.

I say “rootfs partition” because the SD card has many partitions. If you are running Linux and monitor “dmesg --follow”, and then insert the SD card to a reader, the particular device should show up. For me this shows as “sdh”. This will very likely differ on your host PC. To see specific partition information you would run:
df -H -T /dev/sdh

Only one partition will show as having a filesystem type (FSTYPE), and that is the rootfs partition. Normally “Linux_for_Tegra/rootfs/” contains that content, but you can mount the actual SD card partition there and run that script and it should work perfectly well just like it would against regular files.

Example if the script is in the “Linux_for_Tegra/” directory (and this exists if you’ve ever used SDK Manager, or if you have manually unpacked the “driver package”…see L4T releases; go there, log in, click link again, find your release).

For R32.4.2 as an example to add just the driver package and not use SDK Manager (if you do not have that content already this is easier):

  1. tar xvfj Tegra210_Linux_R32.4.2_aarch64.tbz2
  2. cd Linux_for_Tegra
  3. sudo mount /dev/sdh1 ./rootfs
  4. # ...copy the script to here...
  5. sudo ./l4t_create_default_user.sh
  6. # ...follow steps...
  7. sudo umount ./rootfs
  8. # ...now try booting with that card, try ssh with the name/pass you added.

If you’ve flashed with SDK Manager before, then probably all of the QEMU content will be present. If not, then you can just add the QEMU content (it’s easy to test, no harm if QEMU is missing).