在一个redhat7.2 4.4.185版本内核系统下,编译nvme.ko内核模块,拷贝到另一个redhat7.2 4.4.185版本内核系统下,执行insmod后,报 insmod:error inserting 'nvme.ko' :-1 Invalid module format,dmesg中报nvme:desagrees about version of symbol module_layout。
使用modinfo查看原先的 4.4.185版本内核系统下的nvme模块信息如下:
filename: /usr/src/linux-4.4.185/drivers/nvme/host/nvme.ko
version: 1.0
license: GPL
author: Matthew Wilcox <willy@linux.intel.com>
srcversion: 15D5D7EF8792702A797155A
alias: pci:v0000106Bd00002001sv*sd*bc*sc*i*
alias: pci:v*d*sv*sd*bc01sc08i02*
depends:
intree: Y
vermagic: 4.4.185 SMP mod_unload modversions
parm: admin_timeout:timeout in seconds for admin commands (byte)
parm: io_timeout:timeout in seconds for I/O (byte)
parm: shutdown_timeout:timeout in seconds for controller shutdown (byte)
parm: nvme_major:int
parm: nvme_char_major:int
parm: use_threaded_interrupts:int
parm: use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
我编译的nvme.ko信息如下:
filename: nvme.ko
version: 1.0
license: GPL
author: Matthew Wilcox <willy@linux.intel.com>
srcversion: 15D5D7EF8792702A797155A
alias: pci:v0000106Bd00002001sv*sd*bc*sc*i*
alias: pci:v*d*sv*sd*bc01sc08i02*
depends:
retpoline: Y
vermagic: 4.4.185 SMP mod_unload modversions
parm: admin_timeout:timeout in seconds for admin commands (byte)
parm: io_timeout:timeout in seconds for I/O (byte)
parm: shutdown_timeout:timeout in seconds for controller shutdown (byte)
parm: nvme_major:int
parm: nvme_char_major:int
parm: use_threaded_interrupts:int
parm: use_cmb_sqes:use controller's memory buffer for I/O SQes (bool)
比对的只有intree和retpoline的区别,其他信息都是一样的,不知道这里应该怎么修改,是不是这里的问题?