How to install kernel modules after a successful compiling
Alexander Kapshuk
alexander.kapshuk at gmail.com
Thu Dec 10 09:44:22 EST 2020
On Thu, Dec 10, 2020 at 4:19 PM FuLong Wang <fulwang at linux.vnet.ibm.com> wrote:
>
>
> have checked the config file and the script, not found the exact match.
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
> [zbrand at bz094f 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]$ pwd
> /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]$ cat .config | grep
> CONFIG_LOCALVERSION
> CONFIG_LOCALVERSION=""
> # CONFIG_LOCALVERSION_AUTO is not set
> [zbrand at bz094f 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]$ grep -r CONFIG_LOCALVERSION
> ./*
>
> .............
>
> ./arch/um/defconfig:CONFIG_LOCALVERSION=""
> ./arch/um/defconfig:CONFIG_LOCALVERSION_AUTO=y
> ./arch/unicore32/configs/unicore32_defconfig:CONFIG_LOCALVERSION="-unicore32"
> ./arch/x86/configs/i386_defconfig:# CONFIG_LOCALVERSION_AUTO is not set
> ./arch/x86/configs/x86_64_defconfig:# CONFIG_LOCALVERSION_AUTO is not set
> ./arch/xtensa/configs/common_defconfig:CONFIG_LOCALVERSION=""
> ./arch/xtensa/configs/iss_defconfig:CONFIG_LOCALVERSION=""
> ./arch/xtensa/configs/iss_defconfig:CONFIG_LOCALVERSION_AUTO=y
> ./arch/xtensa/configs/s6105_defconfig:CONFIG_LOCALVERSION=""
> ./arch/xtensa/configs/s6105_defconfig:CONFIG_LOCALVERSION_AUTO=y
> ./configs/kernel-3.10.0-s390x-debug.config:CONFIG_LOCALVERSION=""
> ./configs/kernel-3.10.0-s390x-debug.config:# CONFIG_LOCALVERSION_AUTO is
> not set
> ./configs/kernel-3.10.0-s390x-kdump.config:CONFIG_LOCALVERSION=""
> ./configs/kernel-3.10.0-s390x-kdump.config:CONFIG_LOCALVERSION_AUTO=y
> ./configs/kernel-3.10.0-s390x.config:CONFIG_LOCALVERSION=""
> ./configs/kernel-3.10.0-s390x.config:# CONFIG_LOCALVERSION_AUTO is not set
> ./include/config/auto.conf:CONFIG_LOCALVERSION=""
> ./include/generated/autoconf.h:#define CONFIG_LOCALVERSION ""
> ./init/Kconfig: set in CONFIG_LOCALVERSION.
> ./scripts/setlocalversion:# CONFIG_LOCALVERSION and LOCALVERSION (if set)
> ./scripts/setlocalversion:res="${res}${CONFIG_LOCALVERSION}${LOCALVERSION}"
> ./scripts/setlocalversion:if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then
> [zbrand at bz094f linux-3.10.0-957.el7.s390x]$
>
>
>
>
> --
> Regards
> FuLong Wang
> _______________________________________________
>
> On 12/10/20 16:28, Alexander Kapshuk wrote:
> > On Thu, Dec 10, 2020 at 9:51 AM FuLong Wang <fulwang at linux.vnet.ibm.com> wrote:
> >>
> >>
> >>
> >> When I try to install the new built kernel and modules, i found the
> >> install script will assign the kernel version as "3.10.0".
> >
> > The kernel version is set via these config options via scripts/setlocalversion:
> > CONFIG_LOCALVERSION
> > CONFIG_LOCALVERSION_AUTO
> >
> > In your setup, CONFIG_LOCALVERSION is probably set to 3.10.0.
> > If that is the case, try setting CONFIG_LOCALVERSION="" via 'make
> > menuconfig', and ensure that CONFIG_LOCALVERSION_AUTO is set to 'y'.
> >
> >>
> >> Where is this defined?
> >> Can we keep it as the current kernel version or change it as we want?
> >>
> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >>
> >>
> >> [zbrand at bz094f linux-3.10.0-957.el7.s390x]$ sudo make install
> >> CHK include/generated/uapi/linux/version.h
> >> CHK include/generated/utsrelease.h
> >> CHK include/generated/qrwlock.h
> >> CHK include/generated/qrwlock_api_smp.h
> >> CHK include/generated/qrwlock_types.h
> >> CHK kernel/qrwlock_gen.c
> >> CHK lib/qrwlock_debug.c
> >> CALL scripts/checksyscalls.sh
> >> CC scripts/mod/devicetable-offsets.s
> >> GEN scripts/mod/devicetable-offsets.h
> >> HOSTCC scripts/mod/file2alias.o
> >> HOSTLD scripts/mod/modpost
> >> CHK include/generated/compile.h
> >> SKIPPED include/generated/compile.h
> >> CHK include/generated/uapi/linux/version.h
> >> sh -x ./arch/s390/boot/install.sh 3.10.0 arch/s390/boot/bzImage \
> >> System.map "/boot"
> >> + '[' -x /root/bin/installkernel ']'
> >> + '[' -x /sbin/installkernel ']'
> >> + exec /sbin/installkernel 3.10.0 arch/s390/boot/bzImage System.map /boot
> >> [zbrand at bz094f 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]$ pwd
> >> /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]$
> >>
> >>
> >>
> >>
> >> --
> >> Regards
> >> FuLong Wang
> >> _______________________________________________
> >>
> >> On 12/10/20 12:25, FuLong Wang wrote:
> >>>
> >>> 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 ~]#
> >>>
> >>>
> >>>
> >>>
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
You mentioned that you were following the instructions to build your
modules using this article,
https://wiki.centos.org/HowTos/BuildingKernelModules.
Which method did you use?
Some of the methods describe setting the kernel version in their
respective config files. E.g. cifs-kmod.spec.
Perhaps your build environment relies on those config files to set the
version of the kernel module?
More information about the Kernelnewbies
mailing list