Re: How to install kernel modules after a successful compiling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/10/20 22:44, Alexander Kapshuk wrote:
On Thu, Dec 10, 2020 at 4:19 PM FuLong Wang <fulwang@xxxxxxxxxxxxxxxxxx> wrote:


have checked the config file and the script, not found the exact match.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


[zbrand@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@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@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@bz094f linux-3.10.0-957.el7.s390x]$ cat .config | grep
CONFIG_LOCALVERSION
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
[zbrand@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@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@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@xxxxxxxxxxxxxxxxxx> 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@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@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@bz094f linux-3.10.0-957.el7.s390x]$
[zbrand@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@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@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@bz094f ~]#


[root@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@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@bz094f ~]#





_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
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?

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies


Below is my command sequence.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#login as zbrand

cd ~/rpmbuild/BUILD/kernel-3.10.0-957.el7/linux-3.10.0-957.el7.s390x

#select non-enabled modules (most of them are infiniband related)

make menuconfig

#prepare env

make oldconfig
make prepare
make modules_prepare


#compile kernel and modules

make

#install new kernel and modules

sudo make Install


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Many Thanks!

--
Regards
FuLong Wang
_______________________________________________

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux