Jetson not booting after editing /etc/fstab

I recently flashed the latest Sample File 28.1 on my Jetson TX1. I also installed Cuda and OpenCV 3.2. It was working fine until recently. However, one problem was that the sd card for the system remounted to a different location whenever I booted the system. So I edited the /etc/fstab with a line containing UUID, mount point, file system type, options etc. Something similar to:

UUID=e8008245-01d3-4df3-b409-8036ad7cd0d0 /media/sd_card ext4  defaults    0     0

I rebooted the system immediately. However, now I am not getting a proper display and I believe it is not booting up properly. The screen keeps flashing in regular intervals and there is no login. Is there a quick workaround? Any safe boot options or do I have to flash a new sample file and start from square one?

It sounds something like the hardware driver got replaced by the Nouveau version (display would start and immediately crash). Do you have ssh or serial console access? Was your system ever flashed to use SD card as root partition? What happens if you add the SD card about 4 or 5 seconds into the boot process (I’m trying to time inserting the SD card right after the boot loader finishes, but before the system gets any further along in boot).

Btw, the “defaults 0 0” would tend to make this particular SD card mandatory the same way a permanently connected SATA drive would be treated. If you get to the point you can try editing fstab again I’d be tempted to replace that part of the mount spec with “noauto,user,exec 0 0”.

I tried ssh, but could not connect. I don’t think I have serial console access (I haven’t done any additional wiring). I tried booting without the sd card and it showed no difference. However, I have started flashing a new Sample File. Hopefully that will fix it.

Due to the changed I made in fstab, jetson tx2 was going in recovery mode. I edited the file by removing the line I previously added

Command: vim -r /etc/fstab

press ctrl + q and then to save wq! . Done

I have a similar problem.

I made an entry in the fstab for the sdcard.

/dev/mmcblk1p1    /media/nvidia/sdcard    ext4    defaults    0 1

When the sdcard is inserted while booting, everything works.
But if there is no sdcard insertetd, the boot-process stops after detection the eth0.

[    9.262574] xhci-tegra 70090000.xusb: tegra_xhci_mbox_work mailbox command 6
[    9.380835] usb 2-1: reset SuperSpeed USB device number 2 using xhci-tegra
[    9.418917] r8152 2-1:1.0 eth0: v2.09.00 (2017/08/21)
[    9.424776] r8152 2-1:1.0 eth0: This product is covered by one or more of the following patents:
[    9.424776]          US6,570,884, US6,115,776, and US6,327,625.
[    9.424776]
[    9.845370] cfg80211: World regulatory domain updated:
[    9.851371] cfg80211:  DFS Master region: unset
[    9.855760] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[    9.868209] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.878013] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[    9.887824] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[    9.897675] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[    9.909098] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    9.920595] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[    9.930740] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[    9.940907] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)

The boot-process will continue if I insert the sdcard.

[   20.260991] mmc2 tuning done saved tap delay=34
[   20.267814] mmc2: hw tuning done ...
[   20.272548] mmc2: tuning_window[0]: 0xfffe07ff
[   20.278132] mmc2: tuning_window[1]: 0xfc0fffff
[   20.283695] mmc2: tuning_window[2]: 0xfffffff
[   20.289137] mmc2: tuning_window[3]: 0x7ffffffc
[   20.294637] mmc2: tuning_window[4]: 0x0
[   20.299511] mmc2: tuning_window[5]: 0x0
[   20.304362] mmc2: tuning_window[6]: 0x0
[   20.309187] mmc2: tuning_window[7]: 0x0
[   20.313992] sdhci: Tap value: 34 | Trim value: 2

How can I change this behaviour?

I dont want to use any init.d-script to mount.

Greetings Nic

This is basically the way all Linux runs, and is not specific to a Jetson. The fstab entry can name options which are for drives which must be present, or it can use options for drives which are not guaranteed to be present. The “defaults” argument implies this is a regular hard drive and to wait for it before finishing boot.

The man page for “fstab” can actually be a bit long since you also have to look at the “mount” man page. The man page for “defaults” says:

use default options: rw, suid, dev, exec, auto, nouser, and async.

If you were to put those in instead of “default” (comma delimited with no spaces), then you would have the same result. The change you probably need to make (at least as a starting point) is to exchange “auto” with “noauto”. Once this is done the SD card will not be forced to mount when all other drives are mounted (any command to mount that device or mount point would then use those options…presumably an auto mounter would use this as well, but I have not tested).

Under “man fstab” you might also be interested in the “nofail” option. I haven’t tried “nofail”, but I’m thinking perhaps this would be the same as “auto”, but tolerant of failures (see the man page for details…experimenting is fortunately fast and easy).


The nofail option does the trick.
Now the automount even works when the sdcard will be inserted after the startup.

/dev/mmcblk1p1    /media/nvidia/sdcard    ext4    defaults,nofail    0 1

I faced the same problem on Jetson AGX dev kit. Unfortunately, I can’t flash it via sdk manager although I made it to recovery mode. lsusb shows Jetson AGX is there, but I got the following error message.
command terminated with error
15:27:59 ERROR : Flash Jetson AGX Xavier : Install 'Flash Jetson AGX Xavier' failure, command < using adapter to install NV_L4T_FLASH_XAVIER_WITH_OS_IMAGE_COMP@JETSON_AGX_XAVIER to /media/bagustris/atmaja/nvidia/JetPack_4.3_Linux_JETSON_AGX_XAVIER > terminated with error.

I can flash my jetson agx using SDK Manager on Ubuntu 18.04. The previous failed flash was performed using SDK Manager on Ubuntu 16.04.