The only way I’ve found is to boot to alternate media (e.g., SD card).
Just for general discussion, it isn’t possible to fsck a mounted system (it can be forced on command line…this is usually a bad idea, and yet it might be reasonable if read-only). When a desktop PC boots it is a tendency to use an initial ramdisk and to not go straight into the file system mount. Jetsons go straight into file system mount.
So to make it possible to use the fsck.force or other methods it looks like you’d want to boot to an initrd and only pivot_root to the actual disk after the fsck. Unfortunately I haven’t been very successful at building an initrd in the more recent L4T releases. I had partial success, but nothing “useful”. See:
https://devtalk.nvidia.com/default/topic/1041772/r28-2-initrd-and-device-tree-/
So for now what I recommend is to have an SD card available for rescue and fsck from that without eMMC being mounted.
EDIT: I’ve also failed to find a way to mount read-only. The version of systemd and kernel command line parameters in this case seems to not accept the “ro” parameter.