How to install kernel modules after a successful compiling

Alexander Kapshuk alexander.kapshuk at gmail.com
Wed Dec 9 10:19:17 EST 2020


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



More information about the Kernelnewbies mailing list