How to install kernel modules after a successful compiling
FuLong Wang
fulwang at linux.vnet.ibm.com
Wed Dec 9 23:25:33 EST 2020
Alexander,
Thanks for the reminder!
I realized that the new build module is with version "3.10.0" and so not
match with my running kernel version "3.10.0-957.el7.s390x".
I do confirm that i was using the right kernel source rpm.
So, the question turns to why the "make modules" command changed the
kernel version of built modules to "3.10.0" instead of
"3.10.0-957.el7.s390x".
Is there any special steps i need to follow to keep the original kernel
naming convention?
btw: I'm following below article to compile the kernel modules.
https://wiki.centos.org/HowTos/BuildingKernelModules
Thanks!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root at bz094f ~]# modinfo ib_ipoib
filename:
/lib/modules/3.10.0-957.el7.s390x/kernel/drivers/infiniband/ulp/ipoib/ib_ipoib.ko
license: Dual BSD/GPL
description: IP-over-InfiniBand net driver
author: Roland Dreier
alias: rtnl-link-ipoib
rhelversion: 7.6
srcversion: 917AA4365B3509F0B347217
depends: ib_core,ib_cm
intree: Y
vermagic: 3.10.0 SMP mod_unload modversions
parm: max_nonsrq_conn_qp:Max number of connected-mode QPs per
interface (applied only if shared receive queue is not available) (int)
parm: cm_data_debug_level:Enable data path debug tracing for
connected mode if > 0 (int)
parm: mcast_debug_level:Enable multicast debug tracing if > 0
(int)
parm: data_debug_level:Enable data path debug tracing if > 0
(int)
parm: send_queue_size:Number of descriptors in send queue (int)
parm: recv_queue_size:Number of descriptors in receive queue
(int)
parm: ipoib_enhanced:Enable IPoIB enhanced for capable devices
(default = 1) (0-1) (int)
parm: debug_level:Enable debug tracing if > 0 (int)
[root at bz094f ~]#
[root at bz094f ~]# uname -ar
Linux bz094f 3.10.0-957.el7.s390x #1 SMP Thu Oct 4 16:53:20 EDT 2018
s390x s390x s390x GNU/Linux
[root at bz094f ~]# ls -l /home/zbrand/sourcerpm/
total 102468
-rw-r--r--. 1 zbrand zbrand 257644 Dec 8 13:44
asciidoc-8.6.8-5.el7.noarch.rpm
-rw-r--r--. 1 zbrand zbrand 1551156 Dec 8 13:45
glibc-static-2.17-260.el7.s390x.rpm
-rw-r--r--. 1 zbrand zbrand 1307048 Dec 8 14:01
graphviz-2.30.1-21.el7.s390x.rpm
-rw-r--r--. 1 zbrand zbrand 101028281 Dec 8 13:15
kernel-3.10.0-957.el7.src.rpm
-rw-r--r--. 1 zbrand zbrand 52620 Dec 8 13:44
newt-devel-0.52.15-4.el7.s390x.rpm
-rw-r--r--. 1 zbrand zbrand 93176 Dec 8 14:07
slang-devel-2.2.4-11.el7.s390x.rpm
-rw-r--r--. 1 zbrand zbrand 625688 Dec 8 14:02
source-highlight-3.1.6-6.el7.s390x.rpm
[root at bz094f ~]#
--
Regards
FuLong Wang
_______________________________________________
On 12/9/20 23:19, Alexander Kapshuk wrote:
> On Wed, Dec 9, 2020 at 11:31 AM FuLong Wang <fulwang at linux.vnet.ibm.com> wrote:
>>
>>
>> Hello Experts,
>>
>>
>> I'm trying to enable some infiniband related kernel modules (ib_ipoib,
>> iser, isert, etc) on my RHEL 7.6 instance running on IBM linuxONE
>> machine. (I have found the code in the kernel source tree.)
>>
>> After installing the kernel source rpm in a normal user and make module
>> selection using the "make menuconfig" command, i can successfully
>> re-built all the selected modules (include the new selection) with the
>> "make modules" command.
>>
>> I copied the desired module files to the
>> "/lib/modules/3.10.0-957.el7.s390x/kernel/drivers/infiniband/ulp" dir
>> and the depmod -a command also was executed with no errors.
>>
>> [root at bz094f ulp]# pwd
>> /lib/modules/3.10.0-957.el7.s390x/kernel/drivers/infiniband/ulp
>> [root at bz094f ulp]#
>> [root at bz094f ulp]# ls -l ipoib
>> total 5704
>> -rw-r--r--. 1 root root 5837016 Dec 9 15:50 ib_ipoib.ko
>> [root at bz094f ulp]# ls -l iser
>> total 2880
>> -rw-r--r--. 1 root root 2946496 Dec 9 15:50 ib_iser.ko
>> [root at bz094f ulp]# ls -l isert
>> total 1384
>> -rw-r--r--. 1 root root 1414304 Dec 9 15:50 ib_isert.ko
>> [root at bz094f ulp]#
>>
>>
>> But after reboot the OS, i found the new copied modules can't be loaded
>> by the kernel.
>>
>> errors reported in the /var/log/message:
>>
>> Dec 9 15:49:05 bz094f systemd-modules-load: Failed to insert
>> 'ib_ipoib': Exec format error
>> Dec 9 15:49:05 bz094f systemd-modules-load: Failed to find module 'ib_umad'
>> Dec 9 15:49:05 bz094f systemd: rdma-load-modules at infiniband.service:
>> main process exited, code=exited, status=1/FAILURE
>> Dec 9 15:49:05 bz094f systemd: Failed to start Load RDMA modules from
>> /etc/rdma/modules/infiniband.conf.
>> Dec 9 15:49:05 bz094f systemd: Unit
>> rdma-load-modules at infiniband.service entered failed state.
>> Dec 9 15:49:05 bz094f systemd: rdma-load-modules at infiniband.service failed.
>> Dec 9 15:49:05 bz094f kernel: ib_ipoib: no symbol version for module_layout
>> Dec 9 15:49:05 bz094f systemd-modules-load: Failed to insert 'ib_iser':
>> Exec format error
>> Dec 9 15:49:05 bz094f kernel: ib_iser: no symbol version for module_layout
>>
>>
>>
>>
>> when load the module manually, it will produce the same error:
>>
>>
>> [root at bz094f ~]# modprobe ib_ipoib
>> modprobe: ERROR: could not insert 'ib_ipoib': Exec format error
>
> The error message above usually indicates that the version of the
> currently running kernel is different from the version of the kernel
> the given driver was compiled for.
> Compare the output of 'uname -r' of the running kernel with the output
> of modinfo /path/to/module.ko | grep vermagic.
> If they happen to differ, rebuild the given modules against the
> sources of the running kernel.
>
>>
>> error reported in the dmesg:
>>
>> [ 9.589647] ib_ipoib: no symbol version for module_layout
>> [ 9.597600] ib_srp: no symbol version for module_layout
>>
>>
>> [root at bz094f ~]# modinfo ib_ipoib
>> filename:
>> /lib/modules/3.10.0-957.el7.s390x/kernel/drivers/infiniband/ulp/ipoib/ib_ipoib.ko
>> license: Dual BSD/GPL
>> description: IP-over-InfiniBand net driver
>> author: Roland Dreier
>> alias: rtnl-link-ipoib
>> rhelversion: 7.6
>> srcversion: 917AA4365B3509F0B347217
>> depends: ib_core,ib_cm
>> intree: Y
>> vermagic: 3.10.0 SMP mod_unload modversions
>> parm: max_nonsrq_conn_qp:Max number of connected-mode QPs per
>> interface (applied only if shared receive queue is not available) (int)
>> parm: cm_data_debug_level:Enable data path debug tracing for
>> connected mode if > 0 (int)
>> parm: mcast_debug_level:Enable multicast debug tracing if > 0
>> (int)
>> parm: data_debug_level:Enable data path debug tracing if > 0 (int)
>> parm: send_queue_size:Number of descriptors in send queue (int)
>> parm: recv_queue_size:Number of descriptors in receive queue (int)
>> parm: ipoib_enhanced:Enable IPoIB enhanced for capable devices
>> (default = 1) (0-1) (int)
>> parm: debug_level:Enable debug tracing if > 0 (int)
>> [root at bz094f ~]#
>>
>>
>> I had also tried the "make modules_install" command, but get the error
>> below.
>>
>> [root at bz094f ~]# su - zbrand
>> Last login: Wed Dec 9 16:38:08 CST 2020 on pts/1
>> [zbrand at bz094f ~]$ cd
>> /home/zbrand/rpmbuild/BUILD/kernel-3.10.0-957.el7/linux-3.10.0-957.el7.s390x
>> [zbrand at bz094f linux-3.10.0-957.el7.s390x]$
>> [zbrand at bz094f linux-3.10.0-957.el7.s390x]$ sudo make modules_install
>> INSTALL arch/s390/appldata/appldata_mem.ko
>> Can't read private key
>> make[1]: *** [arch/s390/appldata/appldata_mem.ko] Error 2
>> make: *** [_modinst_] Error 2
>> [zbrand at bz094f linux-3.10.0-957.el7.s390x]$
>>
>>
>> So, did anybody have idea on this?
>>
>>
>> Many Thanks!
>>
>> --
>> Regards
>> FuLong Wang
>> _______________________________________________
>>
>> _______________________________________________
>> Kernelnewbies mailing list
>> Kernelnewbies at kernelnewbies.org
>> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
More information about the Kernelnewbies
mailing list