OpenSuste 15.1 Kernel 5.6 VirtualBox doesn't build kernl modules

Hi, All,

tying to install VirtualBox on openSuse 15.1 (64bit). I’ve installed 5.6.0-2.gbf56c5b-default kernel, because i need iwlwiwi drivers.
Kernel was installed from http://download.opensuse.org/repositories/Kernel:/stable/standard/

VirtualBox is 6.0.12_SUSE r132055 from “Standard” repositories.

I’ve as installed extra packages by running

sudo zypper install virtualbox-host-source kernel-devel kernel-default-devel

as suggested by VirtualBox when running

sudo /sbin/vboxconfig

Error log (/var/loh/virtualbox.log) is on pastebin -> https://pastebin.com/jXP2zmxU

Any help is appreciated.

The solved ticket https://www.virtualbox.org/ticket/18945 indicates that Vbox 6.1(rc1) seems to have this fixed.

Also:

VirtualBox 6.1 is available for Leap 15.1:

Cheers!

I’ve tried that, unfortunately I’m getting

/usr/bin/VirtualBox: line 66:  7340 Segmentation fault      (core dumped) LD_LIBRARY_PATH="/usr/lib/virtualbox${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" /usr/lib/virtualbox/VirtualBox6 $@

when trying to start VBox 6.1 from Virtualisation repo. Thank you for the links, but two of them are about istalling guest additions (I can’t get to that, because I do not have kernel modules compiled on my host). And the first link relates to some person compiling their kernel without some parameter, that VBox needs. I don’t compile my kernel, I’ve installed it from stable repo.

Caution:
kernel:stable Repo is build against factory, also the kernel:stable:kmp Repo.
http://download.opensuse.org/repositories/Kernel:/stable:/KMP/standard/x86_64/

maybe you can install and start it from there.

I do it by installing virtualbox-kmp-default from my kernel:stable Repo
https://download.opensuse.org/repositories/home:/Sauerland/Kernel_stable_standard/

And virtualbox and virtualbox-qt from my Leap15.1 Repo:
https://download.opensuse.org/repositories/home:/Sauerland/openSUSE_Leap_15.1_Update/
The last two are locked by me.

zypper se -si virtualbox
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                   | Typ   | Version                       | Arch   | Repository    
---+------------------------+-------+-------------------------------+--------+---------------
il | virtualbox             | Paket | 6.1.4-lp151.527.1             | x86_64 | (Systempakete)
i+ | virtualbox-kmp-default | Paket | 6.1.4_k5.6.0_1.g4de1111-535.3 | x86_64 | (Systempakete)
il | virtualbox-qt          | Paket | 6.1.4-lp151.527.1             | x86_64 | (Systempakete)

??
The Virtualbox from the openSUSE repos include kernel modules that are closely matched with the available kernel from that same repo… You can’t use those Virtualbox packages with an arbitrary kernel of your choice.

If you want to use a kernel that’s not from the default repo for your specific version of openSUSE (in other words, you also shouldn’t be using virtualbox packages from 15.2 if you’re running 15.1. If it works, you’re just lucky)

  1. Remove all the openSUSE Virtualbox packages.
    Although the Virtualbox documentation says that a new install will always over-write an existing without problems, using the openSUSE packages is likely a scenario not accounted for by the documentation.

  2. Download and install the latest Virtualbox version from the Oracle Virtualbox website. Virtualbox doesn’t keep up with openSUSE versions, install the package for “openSUSE 15.0”
    https://www.virtualbox.org/wiki/Linux_Downloads

  3. Install pre-requisites for building kernel headers. You can run the following command in an elevated kernel or install the individual packages in YaST Software Manager
    I recommend simply “su” and not “su -” in this case because you do <not> want to relogin with a full root environment, it’ll just create complications without any added benefit.

zypper in kernel-devel kernel-default-devel gcc make
  1. Execute the downloaded Oracle Virtualbox package. If you still have your elevated console open, you can run the following after you “change directory” to the directory you’re in. If you are in a “su” console as I recommended, you can simply run the following command which should work without needing to “cd” to the correct directory. The following also assumes you downloaded the Virtualbox file to your logged in ordinary User’s Downloads directory which is default in most DE (modify if needed) and only the one file exists which has a names starting with “VirtualBox”
    If you need to specify the exact VirtualBox file, you can remove the trailing asterisk and use the TAB key to autocomplete and select the file.
zypper in ~/Downloads/VirtualBox*

While the file is running, watch for successes and errors that are reported in your console.
When completed, go ahead and try to launch!

TSU

Thank you all fro the help.

At he end I ended up with a frankenstein, but that will have to do.

I have installed VirtualBox from RPM downloaded from VirtualBox website. But It wouldn’t build kernel modules (on a separate note VirtualBox 6.1 from Virtualisation repo files with segmentation fault.).

So then I’ve installed virtualbox-kmp-default from stable kernel repo and now could build kernel modules

If it wouldn’t build, the actual error is important to understand the reason(If your install log file still exists, it may contain that info),
I can only speculate it might have been related to being unable to overwrite a file… I’ve never experienced or heard of a fail due to code, but there is always a first time… But that would more likely happen on TW with its bleeding edge kernels than on a LEAP.

Resolution usually requires purging all Virtualbox files if uninstalling isn’t sufficient.
I’ve described the process a few times in other threads in this Virtualization and the Application forums.

Then, with a truly clean system there is usually no problem installing.

TSU

Hi,

I have downloaded the .run file from vbox.org

https://www.virtualbox.org/download/testcase/VirtualBox-6.1.5-136807-Linux_amd64.run

And I just ran as root.

sh ./VirtualBox-6.1.5-136807-Linux_amd64.run

I currently have leap 15.1 with the kernel version.

5.6.2-1.gc8170d6-default

All is good no problems at the moment :slight_smile:
Just a fair warning it is not an rpm package just a POSIX sh shell script.

Well…, since this is my work machine and at the moment I need Virtual Box to run MS Office only - I think I’ll stick with what works at the moment. Leap 15.2 should be released in a couple of month and hopefully this will fix all my issues out of he box.

I have an understanding issue here.

  • The standard Oracle VirtualBox version 6.0.12 from the standard Leap 15.1 repositories, with the standard default Leap 15.1 Linux Kernel, happily runs the newest Windows 10, without any annoying behaviour – apart from a slow boot.

What’s so special about MS Office that, it needs a special VirtualBox driver?

No, Office does not need a special driver. I need to use “non default” kernel, because I need WiFi drivers that are only available in kernel 5.2 (or 5.4) and above. Because of that - I cannot build kernel modules for Virtual Box 6.0.12

What’s so special about MS Office that, it needs a special VirtualBox driver?

Not MS Office, but Kernel 5.6…

And here Virtualbox from Repo is working:

LANG=C zypper se -si virtualbox kernel-default
Loading repository data...
Reading installed packages...

S  | Name                   | Type    | Version                       | Arch   | Repository       
---+------------------------+---------+-------------------------------+--------+------------------
i+ | kernel-default         | package | 5.6.0-1.1.g4de1111            | x86_64 | (System Packages)
i+ | kernel-default         | package | 5.5.13-2.1.g0af205d           | x86_64 | (System Packages)
i+ | kernel-default         | package | 5.6.2-1.1.gc8170d6            | x86_64 | kernel-stable    
i+ | kernel-default-devel   | package | 5.6.0-1.1.g4de1111            | x86_64 | (System Packages)
i+ | kernel-default-devel   | package | 5.5.13-2.1.g0af205d           | x86_64 | (System Packages)
i+ | kernel-default-devel   | package | 5.6.2-1.1.gc8170d6            | x86_64 | kernel-stable    
il | virtualbox             | package | 6.1.4-lp151.527.1             | x86_64 | (System Packages)
i+ | virtualbox-kmp-default | package | 6.1.4_k5.6.0_1.g4de1111-537.1 | x86_64 | Sauerland-kernel 
il | virtualbox-qt          | package | 6.1.4-lp151.527.1             | x86_64 | (System Packages)

Leap 15.2 uses the Kernel version 5.3.18 – due early May – Beta Test version available now …

  • Tumbleweed and VirtualBox is possible – Kernel version 5.6.0 …

As I’ve posted in a couple other places before now,
kernel 5.6 is a special release because of the flood of new features and capabilities and performance gains.

openSUSE maintainers really, really need to publish official guidance how everyone running any currently supported versions of openSUSE on all platforms can install kernel 5.6.

Awhile back Kernel:Portal was a lot more extensive than it is today… It pointed to support articles, repositories for alternate kernels in various stages of development… But today contains hardly any information other than to explain what the openSUSE kernel is.

TSU

Yes,
And that may be the “better” way to install… the RPM is something new, but the .run file is the long time way to install Virtualbox.

Running the file usually doesn’t require the “sh” command, just execute the file…
Current Virtualbox documentation also fully documents this file which is actually a master script that calls several sub-scripts and if one ever has a problem the Virtualbox documentation walks you through running the subscripts individually to identify the problem.

TSU

If the file (which is a POSIX sh script) is executable (which is not) then yes you don’t need to add sh to run it, otherwise you will just get an error permission denied.

From the official Virtualbox documentation

https://www.virtualbox.org/manual/ch02.html#install-linux-performing

2.3.3.2. Using the Alternative Generic Installer (VirtualBox.run)

The installer must be executed as root with either install or uninstall as the first parameter. For example:

sudo ./VirtualBox.run install

Or if you do not have the sudo command available, run the following as root instead:

./VirtualBox.run install

TSU

In this case this is not an official release, what I’m using is a test case build. have you tried downloading what I have posted?

https://www.virtualbox.org/download/testcase/VirtualBox-6.1.5-136807-Linux_amd64.run

Is that your creation, or something you found somehow (maybe a developer version?)
I notice it’s not the current, stable release (6.1.4).

I haven’t tested your version.

TSU

That is why it is called**test case **and not stable
Official documentation does not apply… and it doesn’t matter if I created that script or not…