Summary: | linux-mod.eclass - kernel modules packages are incompatible with using multiple kernels | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sergey S. Starikoff <Ikonta> |
Component: | Eclasses | Assignee: | Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel> |
Status: | RESOLVED DUPLICATE | ||
Severity: | enhancement | ||
Priority: | Normal | ||
Version: | 10.0 | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Sergey S. Starikoff
2012-10-18 11:27:39 UTC
Currently (sys-apps/portage-2.2.7) issue seems to be gone away, at least particularly: After kernel upgrade (together with boot into new kernel) but prior to rebuild kernel modules package(s): # qlist app-emulation/virtualbox-modules /lib/modules/3.10.7-gentoo-r1/misc/vboxnetflt.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxnetadp.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxpci.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxdrv.ko # find /lib/modules/3.10.7-gentoo-r1/ -type f -name 'vbox*' /lib/modules/3.10.7-gentoo-r1/misc/vboxnetadp.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxpci.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxvideo.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxsf.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxdrv.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxguest.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxnetflt.ko Rebuild: emerge -1 app-emulation/virtualbox-modules … >>> Safely unmerging already-installed instance... No package files given... Grabbing a set. --- cfgpro obj /lib/modules/3.10.7-gentoo-r1/misc/vboxpci.ko --- cfgpro obj /lib/modules/3.10.7-gentoo-r1/misc/vboxnetflt.ko --- cfgpro obj /lib/modules/3.10.7-gentoo-r1/misc/vboxnetadp.ko --- cfgpro obj /lib/modules/3.10.7-gentoo-r1/misc/vboxdrv.ko --- cfgpro dir /lib/modules/3.10.7-gentoo-r1/misc --- cfgpro dir /lib/modules/3.10.7-gentoo-r1 --- replaced dir /lib/modules --- cfgpro dir /lib * Removing app-emulation/virtualbox-modules-4.2.18 from moduledb. >>> Original instance of package unmerged safely. … (portage cleaned module database and reports about success unmergeing package) Now list of package's files points on new kernel: # qlist app-emulation/virtualbox-modules /lib/modules/3.10.17-aufs/misc/vboxnetflt.ko /lib/modules/3.10.17-aufs/misc/vboxnetadp.ko /lib/modules/3.10.17-aufs/misc/vboxpci.ko /lib/modules/3.10.17-aufs/misc/vboxdrv.ko But repeat check shows not changed list of files in modules directory of my previous kernel: # find /lib/modules/3.10.7-gentoo-r1/ -type f -name 'vbox*' /lib/modules/3.10.7-gentoo-r1/misc/vboxnetadp.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxpci.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxvideo.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxsf.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxdrv.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxguest.ko /lib/modules/3.10.7-gentoo-r1/misc/vboxnetflt.ko And it confuses me. you've always had to rebuild packages when switching kernel versions. this isn't new. as for making things smoother by building modules for all available kernels, we have a bug for that. *** This bug has been marked as a duplicate of bug 195128 *** It looked a good idea.
But some modules (vbox*) depends not only on kernel version, but also on application version (virtualbox).
When trying to start virtual machine with modules, build for previous kernel and previous version of virtualbox, it fails with error message like (quote for 6.1.36):
> Failed to load R0 module /usr/lib64/virtualbox/VMMR0.r0: Unable to locate imported symbol 'SUPR0FpuBegin' for module 'VMMR0.r0' (VERR_SYMBOL_NOT_FOUND).
Failed to load VMMR0.r0 (VERR_SYMBOL_NOT_FOUND).
So, it works only for almost semi-time test kernels.
That is also good thing.
|