<?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>i.MX Processors中的主题 how to cross-compile a external module based on imx yocto files?</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676864#M104404</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;I want to cross-compile a loadable simple hello world module on imx6ulevk target, by using make command directly. Could anyone tell me how to set the $(KERNEL_SRC) properly? I searched a lot articles on internet &amp;nbsp;and also read module.txt in kernel document,&amp;nbsp;but didn't get a solution...&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;I have two files hello_module.c, and single line Makefile, as shown below&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #3366ff; border: 0px; font-weight: inherit;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;//========hello_module.c====&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;#include &amp;lt;linux/init.h&amp;gt;&lt;BR /&gt;#include &amp;lt;linux/module.h&amp;gt;&lt;BR /&gt;MODULE_LICENSE("Dual BSD/GPL");&lt;BR /&gt;static int hello_init(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printk(KERN_ALERT "Hello, world\n");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;}&lt;BR /&gt;static void hello_exit(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printk(KERN_ALERT "Goodbye, cruel world\n");&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;}&lt;BR /&gt;module_init(hello_init);&lt;BR /&gt;module_exit(hello_exit);&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #3366ff; border: 0px; font-weight: inherit;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;#=====test above code in ubuntu_14.04:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;PASS&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;===&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;sudo apt-get install build-essential linux-headers-$(uname -r)&lt;BR /&gt;&amp;gt;echo 'obj-m += hello_module.o' &amp;gt; Makefile &amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;#&amp;lt;=== single line Makefile&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;make -C /lib/modules/$(uname -r)/build M=`pwd`&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;#specify make parameter on the fly&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;sudo insmod hello_module.ko&lt;BR /&gt;&amp;gt;rmmod hello_module&lt;BR /&gt;&amp;gt;dmesg | tail -3&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;STRONG style="color: #3366ff; border: 0px; font-weight: bold;"&gt;#=====prepare cross-compile environment parameters=====&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 12pt;"&gt;&amp;gt;source &amp;nbsp;~/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;gt;echo $CC&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;arm-poky-linux-gnueabi-gcc -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;now how to prepare KERNEL_SRC below&amp;nbsp;to let&amp;nbsp;cross-compile success?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;make &amp;nbsp;M=`pwd`&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&amp;nbsp;-C &amp;lt;KERNEL_SRC&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;Many thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;-Shawn&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;P.S.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;here are are all linux/module.h that can be found in fsl-release-bsp&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;dev@dev-vm:~/IMX/fsl-release-bsp$ find -name module.h | grep /include/linux/module.h&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work-shared/imx6ulevk/kernel-source/include/linux/module.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/linux-libc-headers/4.1-r0/linux-4.1/include/linux/module.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-linux-libc-headers/4.4-r0/linux-4.4/include/linux/module.h&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;### below are operations I did to build corss-compile toolchain&amp;nbsp;###&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;cd /home/dev/IMX/fsl-release-bsp&lt;BR /&gt;&amp;gt;DISTRO=fsl-imx-x11 MACHINE=imx6ulevk source fsl-setup-release.sh -b build_imx6ulevk&lt;BR /&gt;&amp;gt;bitbake fsl-image-gui &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;==build image&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;bitbake meta-toolchain &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;==build sdk&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;cd /home/dev/IMX/fsl-release-bsp/build_imx6ulevk/tmp/deploy/sdk/&lt;BR /&gt;&amp;gt;./fsl-imx-x11-glibc-x86_64-meta-toolchain-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh -d /home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0 &amp;nbsp;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;===install&amp;nbsp;sdk&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;source&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;/home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Jul 2017 09:24:29 GMT</pubDate>
    <dc:creator>listplot3d</dc:creator>
    <dc:date>2017-07-20T09:24:29Z</dc:date>
    <item>
      <title>how to cross-compile a external module based on imx yocto files?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676864#M104404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;I want to cross-compile a loadable simple hello world module on imx6ulevk target, by using make command directly. Could anyone tell me how to set the $(KERNEL_SRC) properly? I searched a lot articles on internet &amp;nbsp;and also read module.txt in kernel document,&amp;nbsp;but didn't get a solution...&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;I have two files hello_module.c, and single line Makefile, as shown below&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #3366ff; border: 0px; font-weight: inherit;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;//========hello_module.c====&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;#include &amp;lt;linux/init.h&amp;gt;&lt;BR /&gt;#include &amp;lt;linux/module.h&amp;gt;&lt;BR /&gt;MODULE_LICENSE("Dual BSD/GPL");&lt;BR /&gt;static int hello_init(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printk(KERN_ALERT "Hello, world\n");&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return 0;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;}&lt;BR /&gt;static void hello_exit(void){&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; printk(KERN_ALERT "Goodbye, cruel world\n");&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;}&lt;BR /&gt;module_init(hello_init);&lt;BR /&gt;module_exit(hello_exit);&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #3366ff; border: 0px; font-weight: inherit;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;#=====test above code in ubuntu_14.04:&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;PASS&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;===&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;sudo apt-get install build-essential linux-headers-$(uname -r)&lt;BR /&gt;&amp;gt;echo 'obj-m += hello_module.o' &amp;gt; Makefile &amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;#&amp;lt;=== single line Makefile&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;make -C /lib/modules/$(uname -r)/build M=`pwd`&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #339966; border: 0px; font-weight: inherit;"&gt;#specify make parameter on the fly&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;sudo insmod hello_module.ko&lt;BR /&gt;&amp;gt;rmmod hello_module&lt;BR /&gt;&amp;gt;dmesg | tail -3&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;STRONG style="color: #3366ff; border: 0px; font-weight: bold;"&gt;#=====prepare cross-compile environment parameters=====&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 12pt;"&gt;&amp;gt;source &amp;nbsp;~/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;gt;echo $CC&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;arm-poky-linux-gnueabi-gcc -march=armv7ve -mfpu=neon -mfloat-abi=hard -mcpu=cortex-a7 --sysroot=/home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa7hf-neon-poky-linux-gnueabi&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;now how to prepare KERNEL_SRC below&amp;nbsp;to let&amp;nbsp;cross-compile success?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;make &amp;nbsp;M=`pwd`&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&amp;nbsp;-C &amp;lt;KERNEL_SRC&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;Many thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;-Shawn&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;P.S.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;here are are all linux/module.h that can be found in fsl-release-bsp&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;dev@dev-vm:~/IMX/fsl-release-bsp$ find -name module.h | grep /include/linux/module.h&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work-shared/imx6ulevk/kernel-source/include/linux/module.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work/cortexa7hf-neon-poky-linux-gnueabi/linux-libc-headers/4.1-r0/linux-4.1/include/linux/module.h&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080; border: 0px; font-weight: inherit;"&gt;./build_imx6ulevk/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-linux-libc-headers/4.4-r0/linux-4.4/include/linux/module.h&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;### below are operations I did to build corss-compile toolchain&amp;nbsp;###&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;cd /home/dev/IMX/fsl-release-bsp&lt;BR /&gt;&amp;gt;DISTRO=fsl-imx-x11 MACHINE=imx6ulevk source fsl-setup-release.sh -b build_imx6ulevk&lt;BR /&gt;&amp;gt;bitbake fsl-image-gui &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;==build image&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;bitbake meta-toolchain &amp;nbsp;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;==build sdk&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;cd /home/dev/IMX/fsl-release-bsp/build_imx6ulevk/tmp/deploy/sdk/&lt;BR /&gt;&amp;gt;./fsl-imx-x11-glibc-x86_64-meta-toolchain-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh -d /home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0 &amp;nbsp;&lt;SPAN style="color: #008000; border: 0px; font-weight: inherit;"&gt;#&amp;lt;===install&amp;nbsp;sdk&lt;/SPAN&gt;&lt;BR /&gt;&amp;gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;source&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;/home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Jul 2017 09:24:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676864#M104404</guid>
      <dc:creator>listplot3d</dc:creator>
      <dc:date>2017-07-20T09:24:29Z</dc:date>
    </item>
    <item>
      <title>Re: how to cross-compile a external module based on imx yocto files?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676865#M104405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Shawn Li,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is some information on how to incorporate modules on the Yocto Kernel Development Manual that may be of help. Check section 2.5.2 for what I think covers what you want to do. (This document changes slightly between Yocto versions, this is for 2.1, but the basics have not changed much in a while)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.yoctoproject.org/docs/2.1/kernel-dev/kernel-dev.html"&gt;http://www.yoctoproject.org/docs/2.1/kernel-dev/kernel-dev.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just as an aside, I would recommend working outside of Yocto for the development of any modules and integrating it to Yocto once it’s ready for distribution. This because Yocto is not designed for development so much as for distribution and for example Yocto does not check if a file has been changed so it can be hard to track how your changes in the code get reflected on the final build.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jul 2017 17:51:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676865#M104405</guid>
      <dc:creator>gusarambula</dc:creator>
      <dc:date>2017-07-21T17:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: how to cross-compile a external module based on imx yocto files?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676866#M104406</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Gusarambula,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding your last remark, i use yocto to develop for a few weeks and i find it very cumbersome. Namely, my main criticism is that yocto doesn't see a modified file and that the whole kernel has to be recompiled at each time.&lt;/P&gt;&lt;P&gt;What do you propose as alternative solution for developping: ltib ? Buildroot ? Other ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Christophe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Jul 2017 08:09:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676866#M104406</guid>
      <dc:creator>christophe</dc:creator>
      <dc:date>2017-07-25T08:09:44Z</dc:date>
    </item>
    <item>
      <title>Re: how to cross-compile a external module based on imx yocto files?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676867#M104407</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks for pointing on the direction. The correct command to make a out-of-tree module is this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;commands to make a out-of tree module&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;#source sdk to setup cross-compile environment. (sdk is generated from "bitbake meta-toolchain")&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;source /home/dev/IMX/toolchain/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;# make module&lt;/SPAN&gt;&lt;BR /&gt;make M=`pwd` -C &lt;SPAN style="color: #800080;"&gt;/home/dev/IMX/fsl-release-bsp/build_imx6ulevk/tmp/work/imx6ulevk-poky-linux-gnueabi/linux-imx/4.1.15-r0/build&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;P.S. how did I find the path for -C $(KERNEL_SRC)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080;"&gt;dev@dev-vm:~/IMX/fsl-release-bsp/build_imx6ulevk&lt;/SPAN&gt;$ find -name &lt;SPAN style="color: #3366ff;"&gt;Module.symvers&lt;/SPAN&gt;&lt;BR /&gt;./tmp/work-shared/imx6ulevk/kernel-build-artifacts/Module.symvers&lt;BR /&gt;.&lt;SPAN style="color: #800080;"&gt;/tmp/work/imx6ulevk-poky-linux-gnueabi/linux-imx/4.1.15-r0/build&lt;/SPAN&gt;/Module.symvers&lt;BR /&gt;./tmp/work/imx6ulevk-poky-linux-gnueabi/lttng-modules/2.7.1+gitAUTOINC+45e0ebd91f-r0/git/Module.symvers&lt;BR /&gt;./tmp/work/imx6ulevk-poky-linux-gnueabi/cryptodev-module/1.8-r0/cryptodev-linux-1.8/Module.symvers&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #808080;"&gt;dev@dev-vm:~/IMX/fsl-release-bsp/build_imx6ulevk&lt;/SPAN&gt;$ find -name &lt;SPAN style="color: #3366ff;"&gt;.config&lt;/SPAN&gt;&lt;BR /&gt;./tmp/sysroots/imx6ulevk/usr/lib/busybox/ptest/.config&lt;BR /&gt;./tmp/work-shared/imx6ulevk/kernel-build-artifacts/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/wpa-supplicant/2.5-r0/wpa_supplicant-2.5/wpa_supplicant/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/linux-libc-headers/4.1-r0/linux-4.1/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/busybox/1.24.1-r0/image/usr/lib/busybox/ptest/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/busybox/1.24.1-r0/packages-split/busybox-ptest/usr/lib/busybox/ptest/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/busybox/1.24.1-r0/package/usr/lib/busybox/ptest/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/busybox/1.24.1-r0/busybox-1.24.1/.config&lt;BR /&gt;./tmp/work/cortexa7hf-neon-poky-linux-gnueabi/busybox/1.24.1-r0/sysroot-destdir/usr/lib/busybox/ptest/.config&lt;BR /&gt;&lt;SPAN style="color: #800080;"&gt;./tmp/work/imx6ulevk-poky-linux-gnueabi/linux-imx/4.1.15-r0/build&lt;/SPAN&gt;/.config&lt;BR /&gt;./tmp/work/imx6ulevk-poky-linux-gnueabi/u-boot-imx/2016.03-r0/git/mx6ul_14x14_evk_config/.config&lt;BR /&gt;./tmp/work/x86_64-linux/perl-native/5.22.1-r0/perl-5.22.1/.config&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;I think above is a generic way of making out-of-tree module, without changing yocto source code. This also can workaround the concern that Yocto doesn't&amp;nbsp;see a modified file, if implementations can be done with out-of-tree module.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;Best Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;-Shawn&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Jul 2017 03:05:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/how-to-cross-compile-a-external-module-based-on-imx-yocto-files/m-p/676867#M104407</guid>
      <dc:creator>listplot3d</dc:creator>
      <dc:date>2017-07-27T03:05:43Z</dc:date>
    </item>
  </channel>
</rss>

