Linux hangs on NVMe detection

Trying to switch back to Linux for a quick test, the board doesn’t complete the kernel boot sequence:

[    4.842384]   No soundcards found.                                                                                                                 
[    4.849762] hub 3-1.3:1.0: 4 ports detected                                                                                                        
                                                                                                                                                      
                                                                                                                                                      
[   64.742150] nvme nvme0: I/O 0 QID 0 timeout, completion polled                                                                                     
[  126.182157] nvme nvme0: I/O 24 QID 0 timeout, completion polled                                                                                    
[  166.358143] random: crng init done                                                                                                                 
[  187.622136] nvme nvme0: I/O 25 QID 0 timeout, completion polled                                                                                    
[  249.062142] nvme nvme0: I/O 1 QID 0 timeout, completion polled 

The drive is formatted for QNX, not Linux, but that shouldn’t matter as I don’t believe it is trying to mount anything at this point. The Debian system should be on the eMMC, per the instructions in the Getting Started guide for the Honeycomb.

Is there an option to suppress NVMe detection that can be added to the u-boot command?

–Elad

you can add something like initcall_blacklist=nvme_init to your kernel command-line args

I tried adding that to the bootargs u-boot environment variable, but I think it gets ignored.

Scanning mmc 1:1...                                                                                                                                   
Found /extlinux/extlinux.conf                                                                                                                         
Retrieving file: /extlinux/extlinux.conf                                                                                                              
331 bytes read in 9 ms (35.2 KiB/s)                                                                                                                   
1:      primary kernel                                                                                                                                
Retrieving file: /boot/Image                                                                                                                          
42017280 bytes read in 1974 ms (20.3 MiB/s)                                                                                                           
append: console=ttyAMA0,115200 earlycon=pl011,mmio32,0x21c0000 default_hugepagesz=1024m hugepagesz=1024m hugepages=2 pci=pcie_bus_perf root=PARTUUID=3
0303030-01 rw rootwait                                    

I assume that command line comes from somewhere else.

–Elad

it may be hard-coded in your extlinux.conf I am not sure what Debian does for this.

Yes, there doesn’t seem to be a way to update that file without booting the system, which is a bit unfortunate.

Anyway, after a few attempts it finally booted. Not sure what changed, but it’s good enough for me.
Thanks for the help.

–Elad

For the record, though, once it booted I modified /extlinux/extlinux.conf to update the command line per your suggestion. It then took effect on the next boot.

–Elad