Quantcast
Channel: Active questions tagged kernel-modules - Unix & Linux Stack Exchange
Viewing all articles
Browse latest Browse all 1181

load driver with insmod get :disagrees about version of symbol module_layout

$
0
0

I compiled simple drive for Linux kernel for ARM system:

$ uname -a

Linux CR5 4.4.171-cr5 #2 Tue Mar 10 11:49:00 CET 2020 armv7l GNU/Linux

To compile i used the config file from the up ruining system located at:

/proc/config.gz

i downloaded a vanilla kernel, checkout to tag 4.4.5, replace the config file ,compile the kernel, and then compile the drive with the tool-chine for arm

gcc-linaro-7.2.1-2017.11-i686_arm-linux-gnueabiThe drive contain simple code

    #include <linux/module.h>    #include <linux/kernel.h>    int init_module(void) {        printk(KERN_INFO "Hello world.\n");        return 0;    }    void cleanup_module(void) {        printk(KERN_INFO "Goodbye world.\n");    }

i used insmod to load the driver but the err message to terminal is:

insmod: ERROR: could not insert module test_module.ko: Invalid module format

at the dmesg i get this message

test_module: disagrees about version of symbol module_layout

However, when i compere between running module in the system with my module with readelf -a

The ELF Header are the same and the File Attributes are the same.

what can i check more?Maybe the module loading was blocked by kernel? how can i check that?some one hes a lead for my what i can do next?

p.s

  • simple c program is ruining fine, so i guess the tool-chine is fine
  • insmod -f not work as well

Thanks


Viewing all articles
Browse latest Browse all 1181

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>