AnsweredAssumed Answered

How to install NVMe device driver into linux kernel

Question asked by thomasculverhouse on Apr 26, 2016
Latest reply on May 18, 2016 by thomasculverhouse


I am working through the freescale yocto project quick start guide for the LS2080ardb. I need to enable the NVME device driver in my kernel build so that Linux recognises a PCIE HDD I have attached to the PCIE slot on the RDB when the kernel boots.

 

According to the documentation, I want something like:

 

bitbake -c menuconfig virtual/kernel           <=== at this point, I navigate to and enable the NVME device driver option

bitbake -c compile -f virtual/kernel

bitbake virtual/kernel

 

I'm then doing

 

bitbake fsl-image-kernelitb

 

to produce an itb file that I then tftp onto the LS2080 board. However, when I do

 

lsmod

 

or

 

lspci

 

I don't see any PCIE HDD and the nvme module has not been loaded. There is also nothing in dmesg to suggest the HDD was recognised; the only PCIE devices I can see are the Freescale Semiconductor PCI bridge. Finally, there is no /sys/modules directory at all (the default directory for device drivers).

 

I tried compiling the nvme device driver into a .ko, scp'd it to the LS2080, and did

 

insmod nvme.ko

 

The device driver gets loaded without fault and appears when I do lsmod. I tried to rescan the PCIE bus for the PCIE HDD with

 

echo "1" > /sys/bus/pci/rescan

 

but the PCIE HDD was still not recognised.

 

Can anyone help?

Outcomes