have me leery of dup’ing to the 20200810 snapshot, which brings in the 5.8 kernel with VirtualBox. Have any of you fellow VirtualBox-in-Tumbleweed users dup’d to this snapshot? Is VB running well with 5.8, guest additions and all?
If so, I’ll eagerly dup, too. But I thought I should check first.
Yep, same issue here. I’m not dying to get VBox up today, and would anticipate an update shortly. One thing that might work is simply booting the last kernel, 5.7.11, and running VBox under that kernel until a fix comes up.
OK, after reading the VBox bug page at #19644 (Linux kernel version: 5.8 - we need changes (fixed in 6.1.14)) – Oracle VM VirtualBox, it looks like the 5.8.x kernel broke several VBox calls that allocate virtual memory. There’s no easy fix, and the Linux kernel team apparently won’t allow the memory calls needed on the kernel end. VBox is working on solutions, but don’t know how long that will take. They seem to be close, but you never know.
I’d prefer to wait for a functional-with-5.8 version of VirtualBox to be available through zypper dup. If I get impatient (or desperate), though, I may want to install the development version .run file.
I regularly update the nvidia driver with:
sh NVIDIA-Linux-version_number.run
but have never updated VirtualBox that way. Would the procedure be the same:
For now I’ve protected kernel and VirtualBox from updating as I need VB for some stuff I’m doing. Not ideal I know but hopefully in a few days VB will come up with a fix.
First some background: For several cycles, the kernel developers have been restricting the allocation of executable memory for out-of-kernel modules. With 5.8, the method used by VirtualBox is no longer accessible. The resulting error is as follows:
Failed to open a session for the virtual machine <VM Name>
"Failed to load R0 module /usr/lib/virtualbox/VMMR0.r0: SUP_IOCTL_LDR_OPEN failed (VERR_NO_EXEC_MEMORY).
Failed to load VMMR0.r0 (VERR_NO_EXEC_MEMORY)."
I tried to find workarounds for this problem, but the only one I found requires modifying the kernel, which the openSUSE developers would not make part of the distribution [1][2]. I expect that Oracle will likely find a solution using libvirt, but a rewrite of that magnitude is beyond my capabilities.
The current solutions are as follows:
Remain with kernel 5.7.
Convert from VirtualBox to KVM.[3] The quoted web page covers the issue, and I will not discuss it further.
It is reported that the test builds at [4] work. Be sure to get the latest 6.1.X test build for 64-bit Linux and the Extensions. Before installing that package, use YaST to remove all the regular VB packages. When Oracle’s release runs with kernel 5.8, you will need to rerun their ‘.run’ file with the uninstall option. This option may or may not work. I had trouble with it.
Use a modified kernel and modify the vboxdrv kernel module. The necessary files and instructions are at [5].
(After much experimentation) Larry’s third option worked for me. I uninstalled VB through Yast, dup’d to the 5.8 kernel, downloaded and installed the latest test build from https://www.virtualbox.org/wiki/Testbuilds . No problems.
As for option #2: I had no trouble converting a Win 7 machine to KVM, didn’t get a blue screen or a Windows activation error. What I did get, unfortunately, were activation warnings from two Adobe CS3 products. Adobe has shut down the CS3 activation servers, provides no further support on the products. There might be a way to coax a conversion from VDI to QCOW2 without setting off the Adobe alarms, but I didn’t find it.
Just a reminder that installing a test build as you describe is installing the Oracle version of Virtualbox.
When you do this, be sure not to mix future openSUSE VBox packages with your Oracle version… If you eventually decide to go back to openSUSE packages, you should uninstall the test build you installed.
AFAIK affects only the HostOS install,
Does not affect Guest installs, so far I’m not seeing any problems in Guests.
The Guest Additions from openSUSE seems to work fine whether the HostOS is from Oracle or openSUSE.
Thanks for the reminder, Tony. I uninstalled everything VirtualBox-related in Yast → Software Management before installing the Oracle VB test build, and also fetched and installed the related Oracle Guest Additions and Extension Pack. When the openSUSE repositories have a 5.8 compatible VB version, I’ll uninstall these three offerings from Oracle, install the openSUSE version, then return to virtualbox.org to download and install the version-appropriate Oracle Guest Additions and Extension Pack. If you think that plan looks flawed, please let me know!
I ended up uninstalling VB completely through Yast Software, installing KVM through Yast Virtualization, and converting my Win10 VM from VMware format to qcow2. I think that this is the best route for me at this point, as it unties me from future kernel update issues with VMs. That may not work for everyone, but so far it’s working for me.
I started with VMware Workstation back in 2007, went to VirtualBox when VMWare was slow to keep up with changing Linux kernels (and at a premium price as well), and now moved from VirtualBox to KVM for exactly the same issue. Never lost any needed capability in making those migrations, but my Win10 VM lost its authentication when I moved to VB. I cannot find the original disk (moved 3 times since installing it), so there’s that. The VM still works fine, though.