Page 1 of 1

VirtualBox 6.0 for kernel versions > 5.9?

PostPosted: 4. Dec 2021, 00:33
by rman
Software virtualization has been abandoned with VirtualBox 6.1. Therefore VirtualBox 6.1 cannot even run 32 bit guests on computers (cpu's) without hardware virtualization support. This is very unfortunate!

This is the scenario:
* I have a VirtualBox 6.0 with a Windows XP (32 bit) guest on a laptop without hardware virtualization support (CPU is Intel Pentium SU4100).
* This worked fine as long a the kernel version was 5.4. (I use Linux Mint Xfce 20.2.)
* After the kernel was upgraded to 5.11, VirtualBox 6.0 could not run the Windows XP (32 bit) guest anymore.

Is there any chance to get VirtualBox 6.0 running with kernel versions higher than 5.9?

In my research I found out that some specific changes were necessary in VirtualBox 6.1 for supporting kernel versions higher than 5.9. See: VirtualBox ticket #19845

I found out that it is possible to use the sources of VirtualBox 6.1 kernel modules. VBoxConfig is able to successfully build the modules vboxdrv, vboxnetadp and vboxnetflt when using the sources of VirtualBox version 6.1.30. But it fails to build the module vboxpci. Which is not much of a surprise since this module does not exist anymore in VirtualBox 6.1.
I was not able to adapt the sources of the module vboxpci so that it was possible for VBoxConfig to successfully build it for kernel version 5.11.

Has someone in the community been successful in adapting the sources of the VirtualBox 6.0 (6.0.24) vboxpci kernel module for kernel versions higher than 5.9?

I would like to encourage the developer community to adapt the VirtualBox 6.0 vboxpci kernel module for kernel versions higher than 5.9 so that it is possible to run VirtualBox 6.0 on kernel versions higher than 5.9!

Re: VirtualBox 6.0 for kernel versions > 5.9?

PostPosted: 4. Dec 2021, 03:04
by fth0
I cannot really answer your questions, but provide the following hints:

I wouldn't expect the VirtualBox 6.1.30 kernel modules to work with the VirtualBox 6.0.24 programs. Check the sources for SUPDRV_IOC_VERSION to find the version check. If the major version is different, it won't work, and probably for a good reason.

Regarding the vboxpci module, another strategy could be possible. It was removed from Virtualbox 6.1, because nearly no-one needed it. So it might be an alternative strategy to not build it at all.

Re: VirtualBox 6.0 for kernel versions > 5.9?

PostPosted: 4. Dec 2021, 03:54
by rman
Dear fth0!

Thank you very much for your hints!

SUPDrvIOC.h version 6.1.30 says:
#define SUPDRV_IOC_VERSION 0x00320000

SUPDrvIOC.h version 6.0.24 says:
#define SUPDRV_IOC_VERSION 0x00290008

So I think this is: Case closed (on an easy adaption of the kernel modules of/for VirtualBox 6.0.24).

Re: VirtualBox 6.0 for kernel versions > 5.9?

PostPosted: 4. Dec 2021, 11:21
by fth0
Yes, I'd come to the same conclusion.