Jetson Orin Nano does not boot into Linux without display attached to displayport port

with_display.log (115.9 KB)

without_display.log (62.7 KB)

Hi, I’ve flashed an Arch Linux rootFS to a 32 GB microSD card, which I boot my Jetson Orin Nano (Nvidia developer kit) from. This works great when I attach a display to the displayport port (I get to the login prompt and can use the system), but if I don’t attach a display it does not boot.

I flashed it using sudo ./flash.sh -S 27917479936 jetson-orin-nano-devkit mmcblk0p1 after extracting the BSP, rootFS and running TARGET_OVERLAY=true Linux_for_Tegra/apply_binaries.sh.
I’m using Jetson_Linux_r36.4.4_aarch64 and the current latest Arch Linux rootFS.

I’ve attached the UART logs.
At the end of without_display.log this is logged:
[ 5.354074] blk_update_request: I/O error, dev mmcblk0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 5.621998] blk_update_request: I/O error, dev mmcblk0, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 5.890434] blk_update_request: I/O error, dev mmcblk0, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 6.158998] blk_update_request: I/O error, dev mmcblk0, sector 3 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 6.427695] blk_update_request: I/O error, dev mmcblk0, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 6.696166] blk_update_request: I/O error, dev mmcblk0, sector 5 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 6.964830] blk_update_request: I/O error, dev mmcblk0, sector 6 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7.233396] blk_update_request: I/O error, dev mmcblk0, sector 7 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7.233403] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[ 8.360358] blk_update_request: I/O error, dev mmcblk0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 8.629201] blk_update_request: I/O error, dev mmcblk0, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 10.240716] Buffer I/O error on dev mmcblk0, logical block 0, async page read
[ 10.240920] mmcblk0: unable to read partition table
[ 18.422980] ERROR: mmcblk0p1 not found

but why does this only happen without a display connected?

What would the result be like if you connect the display back after the error happened in next boot?

If I disconnect the display and then plug in power it always fails to boot. Likewise, if I connect the display (while off or in this error state, both give the same result) and replug power it always boots correctly.

Is this what you were asking or am I misunderstanding?

I mean is this behavior a recoverable one?

For example, if the error already happened, then would connecting a display recover it back in next boot?

Yes, if it errors and I then plug in a display, it boots correctly after unplugging and replugging power.

Hi,

This behavior sounds strange.

I understand that you may want to do this. But could you flash the whole system with sdkmanager to rel-36.4.4 image and see if you would see same behavior?
Just an experiment.
I didn’t mean you could not use Arch Linux. It is just no such kind of issue ever reported before. We need to confirm if hardware is fine (e.g. somehow display affects sdmmc signal)

I will flash with the sdkmanager Docker image (because I don’t have an Ubuntu system right now) and let you know how it goes. Thank you for your troubleshooting help so far Wayne.

I was unable to flash the image onto a 32 GB microSD card using sdkmanager. I suppose it’s too small, because it’s below the recommended 64 GB. It kept getting stuck at 99% for 30 min. I don’t want to leave the Jetson Orin Nano running without the fan for too long.

I don’t have a 64 GB or bigger microSD card on hand right now so this will have to wait. I’ll let you know when I can continue troubleshooting, Wayne