<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How to install NVMe device driver into linux kernel in Layerscape</title>
    <link>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478866#M822</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Further notes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Examining the output of &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bitbake fsl-image-kernelitb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it looks like an rpm is being created for the nvme kernel module, but this is never integrated into the kernel.itb file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is the correct method to alter the kernel configuration and then deploy it in the itb file?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone please help?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Apr 2016 10:53:49 GMT</pubDate>
    <dc:creator>thomasculverhou</dc:creator>
    <dc:date>2016-04-28T10:53:49Z</dc:date>
    <item>
      <title>How to install NVMe device driver into linux kernel</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478865#M821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;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. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the documentation, I want something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bitbake -c menuconfig virtual/kernel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;=== at this point, I navigate to and enable the NVME device driver option&lt;/P&gt;&lt;P&gt;bitbake -c compile -f virtual/kernel&lt;/P&gt;&lt;P&gt;bitbake virtual/kernel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm then doing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bitbake fsl-image-kernelitb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;to produce an itb file that I then tftp onto the LS2080 board. However, when I do&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lsmod&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;lspci&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried compiling the nvme device driver into a .ko, scp'd it to the LS2080, and did&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;insmod nvme.ko&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;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&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;echo "1" &amp;gt; /sys/bus/pci/rescan&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but the PCIE HDD was still not recognised.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can anyone help?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Apr 2016 16:20:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478865#M821</guid>
      <dc:creator>thomasculverhou</dc:creator>
      <dc:date>2016-04-26T16:20:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to install NVMe device driver into linux kernel</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478866#M822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Further notes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Examining the output of &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bitbake fsl-image-kernelitb&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it looks like an rpm is being created for the nvme kernel module, but this is never integrated into the kernel.itb file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is the correct method to alter the kernel configuration and then deploy it in the itb file?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can someone please help?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Apr 2016 10:53:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478866#M822</guid>
      <dc:creator>thomasculverhou</dc:creator>
      <dc:date>2016-04-28T10:53:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to install NVMe device driver into linux kernel</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478867#M823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I finally found a solution - there are two parts to it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was doing this, which is incorrect:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;1) bitbake -c menuconfig virtual/kernel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;=== at this point, I navigate to and enable the NVME device driver option&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;2) bitbake -c compile -f virtual/kernel&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;3) bitbake virtual/kernel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;=== this step builds the kernel but destroys the .config file created in step 1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;I didn't realise step 3) destroyed the .config file created by step 1) in the tmp/ directory. Thus, when I subsequently did&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;bitbake fsl-image-kernelitb&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;a default .config file was used which didn't have my NVMe modifications. I'm still not sure where the default .config file comes from, and how to change it so that NVMe is enabled by default.&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P&gt;The correct procedure is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;1) bitbake -c menuconfig virtual/kernel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;=== at this point, I navigate to and enable the NVME device driver option&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;2) bitbake fsl-image-kernelitb&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Step 1) creates a .config file with the NVME device driver option enabled, and step 2) creates the kernel image with NVMe enabled. The .config file created by step 1) in tmp/ is destroyed. A closer inspection of fsl-image-kernelitb.bb shows a line&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;do_deply[depends] += "u-boot-mkimage-native:do_build &lt;STRONG&gt;virtual/kernel:do_build&lt;/STRONG&gt; ${ROOTFS_IMAGE}:do_build"&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;Note the bold-font command above - this is the command that actually builds the kernel which is inserted into the .itb file that I load onto the board.&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;However, this didn't solve the problem of why there was no /lib/modules directory in my new .itb image. To fix this, you have to insert the following line into the the .bb file of the rootfs image to be built into the .itb file. In my case, I am using fsl-image-minimal.bb:&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;IMAGE_INSTALL_append += " kernel_modules"&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;&lt;/P&gt;&lt;P style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; color: #51626f;"&gt;When I build the .itb and load it onto the LS2080A RDB, I can now see the full /lib/modules directory, and as a result modprobe works as expected.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 29 Apr 2016 07:35:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478867#M823</guid>
      <dc:creator>thomasculverhou</dc:creator>
      <dc:date>2016-04-29T07:35:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to install NVMe device driver into linux kernel</title>
      <link>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478868#M824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It turns out that despite getting the kernel modules correctly installed on the LS2080A, I still can't get an NVMe PCIe hard disk recognised by the kernel. I have tested my PCIe card with the hard disk on a desktop linux PC and it works fine. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think I am missing some other module dependencies in the kernel, but I have no idea what they might be (running menuconfig and selecting the NVMe driver should cause all dependencies to be added to the kernel build).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help much appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 May 2016 07:42:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Layerscape/How-to-install-NVMe-device-driver-into-linux-kernel/m-p/478868#M824</guid>
      <dc:creator>thomasculverhou</dc:creator>
      <dc:date>2016-05-18T07:42:08Z</dc:date>
    </item>
  </channel>
</rss>

