<div><br><div class="gmail_quote"><div dir="auto">On Mon, Jul 24, 2017 at 3:19 AM Alexandru Vasiu &lt;<a href="mailto:alexandru.vasiu@ni.com">alexandru.vasiu@ni.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dkms is a tool used to compile out of tree modules directly on<br>
target devices (sometimes you have sources or binaries which<br>
need to be compiled directly on target, outside OE).<br>
I used a simple module and a dkms config to test it, and dkms<br>
compiled and installed the module on target.<br>
<br>
For example:<br>
.<br>
├── dkms.conf<br>
└── src<br>
    ├── hello.c<br>
    └── Makefile<br>
<br>
hello.c:<br>
        #include &lt;linux/module.h&gt;<br>
<br>
        int init_module(void)<br>
        {<br>
                printk(&quot;Hello World!\n&quot;);<br>
                return 0;<br>
        }<br>
<br>
        void cleanup_module(void)<br>
        {<br>
                printk(&quot;Goodbye Cruel World!\n&quot;);<br>
        }<br>
<br>
        MODULE_LICENSE(&quot;GPL&quot;);<br>
<br>
Makefile:<br>
        obj-m += hello.o<br>
<br>
        KERNELDIR ?= /lib/modules/$(shell uname -r)/build<br>
<br>
        PWD := $(shell pwd)<br>
<br>
        install:<br>
                $(MAKE) -C $(KERNELDIR) M=$(PWD) modules<br>
<br>
        clean:<br>
                rm -rf *.o *.ko *~ core .depend .*.cmd *.mod.c modules.order Module.symvers<br>
<br>
dkms.conf:<br>
        MAKE=&quot;make -C src/ KERNELDIR=/lib/modules/${kernelver}/build&quot;<br>
        CLEAN=&quot;make -C src/ clean&quot;<br>
        BUILT_MODULE_NAME=hello<br>
        DEST_MODULE_LOCATION=/kernel/drivers/scsi<br>
        BUILT_MODULE_LOCATION=src/<br>
        PACKAGE_NAME=hello<br>
        PACKAGE_VERSION=0.1<br>
        AUTOINSTALL=yes<br>
        REMAKE_INITRD=yes<br>
<br>
All files should be in /usr/src/&lt;package-name&gt;-&lt;package-version&gt;,<br>
in our case in /urs/src/hello-0.1.<br>
<br>
Signed-off-by: Alexandru Vasiu &lt;<a href="mailto:alexandru.vasiu@ni.com" target="_blank">alexandru.vasiu@ni.com</a>&gt;<br>
---<br>
 meta/recipes-kernel/dkms/<a href="http://dkms_2.4.0.bb" rel="noreferrer" target="_blank">dkms_2.4.0.bb</a> | 12 ++++++++++++<br>
 1 file changed, 12 insertions(+)<br>
 create mode 100644 meta/recipes-kernel/dkms/<a href="http://dkms_2.4.0.bb" rel="noreferrer" target="_blank">dkms_2.4.0.bb</a><br>
<br>
diff --git a/meta/recipes-kernel/dkms/<a href="http://dkms_2.4.0.bb" rel="noreferrer" target="_blank">dkms_2.4.0.bb</a> b/meta/recipes-kernel/dkms/<a href="http://dkms_2.4.0.bb" rel="noreferrer" target="_blank">dkms_2.4.0.bb</a><br>
new file mode 100644<br>
index 0000000000..78b23c43e9<br>
--- /dev/null<br>
+++ b/meta/recipes-kernel/dkms/<a href="http://dkms_2.4.0.bb" rel="noreferrer" target="_blank">dkms_2.4.0.bb</a><br>
@@ -0,0 +1,12 @@<br>
+SUMMARY = &quot;DKMS Recipe - Adds DKMS tool for target&quot;<br>
+HOMEPAGE = &quot;<a href="https://github.com/dell/dkms/" rel="noreferrer" target="_blank">https://github.com/dell/dkms/</a>&quot;<br>
+LICENSE = &quot;GPLv2&quot;<br>
+LIC_FILES_CHKSUM = &quot;file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3&quot;<br>
+<br>
+SRC_URI = &quot;<a href="https://github.com/dell/$%7BPN%7D/archive/v$%7BPV%7D.tar.gz" rel="noreferrer" target="_blank">https://github.com/dell/${PN}/archive/v${PV}.tar.gz</a>&quot;<br>
+<br>
+SRC_URI[md5sum] = &quot;d2e74dd79086c564a924b5763794091b&quot;<br>
+<br>
+RDEPENDS_${PN} += &quot;bash kmod gcc make patch&quot;<br>
+</blockquote><div dir="auto"><br></div><div dir="auto">Perhaps you also need kernel-dev package </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
+inherit autotools-brokensep<br>
--<br>
2.13.3<br>
<br>
--<br>
_______________________________________________<br>
Openembedded-core mailing list<br>
<a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
<a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div></div>