Comment 27 for bug 1081307

Revision history for this message
Peter Wu (lekensteyn) wrote :

I propose to use the patch from #3, but refresh it against the current sources. Then use dkms.conf to apply it to 3.5 only. This will not cause regressions with the 3.2 Precise kernel for sure, but it allows the currently broken quantal lts kernel to build.

As a quick hack, I downloaded the patch to /etc/dkms/ and post-processed it to allow DKMS to accept the patch:

    sed 's,/src/VBox/Runtime,,' 38-fix-for-3.5-kernel.patch -i

Next, I created /etc/dkms/virtualbox.conf containing:

    PATCH[0]=../../../../../../../../../../../../../../etc/dkms/38-fix-for-3.5-kernel.patch
    PATCH_MATCH[0]=^3.5
(the definitive fix for ubuntu should put the patch in /usr/src/virtualbox-*/patches which allows the ../...../etc/dkms/ part to be stripped)

Result:
# dkms -m virtualbox -v 4.1.12 install

Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area...
Kernel preparation unnecessary for this kernel. Skipping...
applying patch ../../../../../../../../../../../../../../etc/dkms/38-fix-for-3.5-kernel.patch...patching file r0drv/linux/memobj-r0drv-linux.c
Hunk #3 succeeded at 524 (offset -1 lines).
Hunk #4 succeeded at 592 (offset -1 lines).
Hunk #5 succeeded at 613 (offset -1 lines).
Hunk #6 succeeded at 1204 (offset -9 lines).
Hunk #7 succeeded at 1221 (offset -9 lines).
Hunk #8 succeeded at 1415 (offset -9 lines).
Hunk #9 succeeded at 1427 (offset -9 lines).
Hunk #10 succeeded at 1511 (offset -9 lines).
Hunk #11 succeeded at 1528 (offset -9 lines).
patching file r0drv/linux/the-linux-kernel.h
[...]
DKMS: build completed.

vboxdrv.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.5.0-25-generic/updates/dkms/

vboxnetadp.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.5.0-25-generic/updates/dkms/

vboxnetflt.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.5.0-25-generic/updates/dkms/

vboxpci.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/3.5.0-25-generic/updates/dkms/

depmod....

DKMS: install completed.