VirtualBox

Opened 15 years ago

Closed 15 years ago

#4840 closed defect (worksforme)

vboxvfs module build not suitable for kernels with CONFIG_MODVERSIONS

Reported by: Michael Kromer Owned by:
Component: guest additions Version: VirtualBox 3.0.4
Keywords: vboxvfs kernel module Cc:
Guest type: Linux Host type: Linux

Description

Compilation of the vboxvfs module is incomplete:

# cd vboxvfs/ # make [...]

LD [M] /media/vbox.local/linux/module/vboxvfs/vboxvfs.o Building modules, stage 2. MODPOST 1 modules

WARNING: "RTSpinlockAcquireNoInts" media/vbox.local/linux/module/vboxvfs/vboxvfs.ko undefined! [...]

The problem is because there is no symbol information available in the build directory (which is vboxvfs/ in this case). The necessary information resides in ../vboxadd/ instead. The separation of vboxadd and vboxvfs therefore causes the aforementioned problem with the openSUSE 11.1 2.6.27.x kernel, or generally, as I see it, any kernel with CONFIG_MODVERSIONS=y, CONFIG_MODULE_SRCVERSION_ALL=y.

The solution is to combine the build directories, such that the toplevel Makefile invokes Kbuild once, instead of each directory (vboxadd, vboxvfs, etc.) doing it for itself.

BTW:

The 'clean' target of the vbox additions Makefiles incorrectly clean files They should be running - at least -

make -C ${kerneldir} M=$PWD clean

and _not_ remove *.o, Modules.symvers modules.order, etc. for themselves. That is, BTW, Modules.symvers is wrong - the file is called Module.symvers.

Change History (4)

comment:1 by Frank Mehnert, 15 years ago

So far it was not necessary to combine these build directories. The solution for this problem is to compile the vboxadd module first, then copy the Modules.symvers file from the vboxadd directory to the vboxvfs directory and finally compile the vboxvfs directory. It will now find the required modversions. And exactly this is done when you are doing /etc/init.d/vboxdrv setup to recompile the modules.

comment:2 by Frank Mehnert, 15 years ago

Thanks for the hint for the correct clean rule.

comment:3 by Michael Kromer, 15 years ago

ok, so if its not neccessary to merge them... we should close this one as solved, right?

comment:4 by Frank Mehnert, 15 years ago

Resolution: worksforme
Status: newclosed

Right. My intension was to wait for your response before closing.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use