Does PackMan's dkms work with openSUSE Tumbleweed and VirtualBox?

I’m considering getting back to openSUSE. But one of the most annoying things I had to deal with the last time I used it, was the fact that whenever a kernel update was released, I had to remember to manually build the VirtualBox kernel module.

This operation is automated via DKMS (Dynamic Kernel Module Support) on Ubuntu and other distributions. openSUSE doesn’t ship with dkms and it is not available from the official repositories. However PackMan, one of the most well known and trusted third-party repos has that package.

What I want to know is if it is working as intended? If all I have to do is add PackMan and install the dkms package to get automatic kernel module building whenever a new version of the kernel is installed?

The reason I’m asking this, is because, from what I can remember, the last time I tried it, it was broken. Or at least you had to do a lot more of “mumbo jumbo” to get it to work.

So, is anyone currently using this setup? Can anyone comment on it and give their opinion and experience?

Thanks in advance for any help.

The virtualbox-kmp’s are in Tumbleweed. So, whenever the kernel is updated, a rebuild of the kmp-packages is triggered. So, the issue you’re mentioning shouldn’t exist anymore and you wouldn’t be needing dkms. Not for virtualbox, that is.

Unless you want to install Oracle’s VirtualBox package.
But yes, AFAIK Packman’s dkms should work in this case, though I never tried/used it myself.

Personally, I prefer to stick to openSUSE’s virtualbox packages and not having to build the kernel module at all.

On Tue, 25 Oct 2016 14:46:01 +0000, petersaints wrote:

> I’m considering getting back to openSUSE. But one of the most annoying
> things I had to deal with the last time I used it, was the fact that
> whenever a kernel update was released, I had to remember to manually
> build the VirtualBox kernel module.

If it’s available, use Virtualbox from the Virtualization repo, and it
should be fine (I don’t use Tumbleweed, but on Leap now and 13.x before
that, that’s the repo I have used, and I’ve never had to manually rebuild
the VB kernel module).

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

That’s not really necessary.

The packages from the Virtualization repo are being forwarded to Tumbleweed’s main repo anyway, Virtualization is the development project for Tumbleweed.

On Tue, 25 Oct 2016 22:06:01 +0000, wolfi323 wrote:

> hendersj;2797370 Wrote:
>> If it’s available, use Virtualbox from the Virtualization repo, and it
>> should be fine
> That’s not really necessary.
>
> The packages from the Virtualization repo are being forwarded to
> Tumbleweed’s main repo anyway, Virtualization is the development project
> for Tumbleweed.

Interesting, I wasn’t aware of that - thanks for clarifying. :slight_smile:

Jim


Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C

Sorry for the late reply, but I thought that I had e-mail notifications turned on but it seems that I didn’t.

Regarding the topic, on Tumbleweed I’m sure that it’s better to stick to the “official” openSUSE build of VirtualBox. I probably thought that I had to manually rebuid the kernel module because I must have used the Oracle version in the past. If it is like you said than it’s perfect. Thanks for clearing my doubts :wink:

Just one more thing regarding Tumbleweed and VirtualBox, which I don’t think that deserves its own topic. I’m having some doubts interpreting something on Portal:Tumbleweed - openSUSE Wiki.

Who should use openSUSE Leap instead of Tumbleweed?

While every effort is made to build them, at this point there is no guarantee to have all additional modules available in openSUSE Leap like for Vmware or Virtualbox. And while the Packman Tumbleweed Essential repository attempts to deliver them there is no guarantee they will always succeed due to the incompatibilities with the quickly advancing Linux Kernel. The problems with proprietary graphics drivers are similar and there is no guarantee they will work tomorrow, even if they do today. If you don’t know how to compile your own additional kernel modules and you don’t wish to learn or keep a very close eye on what is being updated, please don’t use Tumbleweed.

What does the highlighted sentence really means? Does it mean that openSUSE Tumbleweed may not work properly as a VirtualBox Host at times due to kernel incompatibilities, or is referring only to running openSUSE Tumbleweed as a VirtualBox Guest?

It means that VirtualBox comes with its own kernel modules (for the host and the guest), and openSUSE cannot/will not guarantee that they always work with the latest kernel.
Though in my experience the situation with VirtualBox is much better than with other 3rd party kernel modules. They tend to adapt to new major kernel versions quite quick (most of the time before it is actually released), so it shouldn’t really be a problem nowadays.
(and you can always boot the previous kernel if the kernel module fails to build for some reason)

Actually I think that paragraph is a left-over from the old Tumbleweed which was basically just an add-on repo to the latest openSUSE release, not a distribution on its own, and did not even include updated virtualbox packages.
It does still have some relevance though, especially in regards to proprietary kernel modules that are not part of the distribution.

Thanks for clearing it up. I had the same feeling, regarding that it was a leftover from the way that the old Tumbleweed was initially built, but I just wanted to be sure. And of course that binary/proprietary modules/drivers will have a greater chance of breaking and there’s nothing that openSUSE community can do to fix them because the source is not available. Also, as you said, VirtualBox is open source, it is updated quite often, and since it is built as part of the distribution it should rarely (if ever) break.

However, from my understanding, a new kernel release on Tumbleweed will not be put on hold just because VirtualBox happens to break. Am I right?
It’s not a priority to keep it working at all times. A new kernel may be released and only later VirtualBox will be fixed.

Meanwhile, as you said, a previously installed kernel may be used. However, can I get a previously released kernel that I didn’t happen to have installed on my system? The only one I can get from the repositories is the latest one, right?

P.S.: I just realized that I should have probably posted this thread on the Virtualization sub-forum (https://forums.opensuse.org/forumdisplay.php/934-Virtualization) but I just don’t remember seeing it
when I was looking for a place to post. Feel free to move it there if you feel that I misplaced it.

That is true, yes.
But as I wrote, normally there are patched for new kernels available before it is even released or enters Tumbleweed, and those patches will also be added to the distribution package in time normally.

Meanwhile, as you said, a previously installed kernel may be used. However, can I get a previously released kernel that I didn’t happen to have installed on my system? The only one I can get from the repositories is the latest one, right?

Yes.

openSUSE normally keeps the latest two kernels installed, but this can be configured in /etc/zypp/zypp.conf (“kernel.multiversions”) if you want to keep more.

If you want an older kernel that’s not installed, you’d need to build it yourself, or try to find one on OBS (e.g. the devel repos for 13.2, 42.1 or 42.2).
But then you would need to compile the kernel module yourself as well, as the prebuilt version likely won’t work if you use a completely different kernel.

If using btrfs as root filesystem, you always have the option to revert to a previous snapshot though if things break.