and Tumbleweed: How can one install VirtualBox Guest Additions?

I have been using VirtualBox 5.0.20 in openSuSE 13.2 for a while. Now I’m trying to update to Leap 42.3, and find it broken. VirtualBox 5.1.32 imports the package virtualbox-5.1.32-42.1.x86_64 without error and appears to run correctly, but trying to import “virtualbox-guest-tools” fails because it requires virtualbox-guest-kmp-default-5.1.32_k4.4.104_39-42.1, which has unresolved references. I installed Tumbleweed in a separate partition but it has the same versions of VirtualBox and fails for the same reason.

I went to virtualbox.org and learned that the current version is 5.2.8, which is well advanced from 5.1.32. They have rpm files for “openSUSE 13.2 (“Harlequin”) / Leap 42.1 (“Malachite”)” and “All distributions (built on EL5 and therefore do not require recent system libraries).” I downloaded both.

Judging from the facts that Oracle stopped at 5.1.32 and VirtualBox stopped at Leap 42.1, I’m guessing that there has been a “falling out” between the two organizations. I am willing to make a move to KVM or Xen, but I have a significant number of VBox VMs running in another computer, and I’d rather not leave VBox cold turkey. What do you recommend for getting VBox running in (preferably) 42.3 or T’weed?

Some years ago, I fixed a memory leak in a software package by uninstalling it, and installing an rpm in its place, after which the updater continued to try to “update” the package, long before the patch made it into the repositories. If you can point me at documentation for dealing with such issues, I would appreciate it.

Please be very explicit in how and what to install. I have just spent several hours in YaST Software Management, man rpm and man zypper. I am unable to figure out how to examine the contents of the rpm files without rpm or zypper insisting on looking in repositories before looking in the rpm file. All it will tell me about the file is “file <path and filename> is not owned by any package.”

I honestly have no idea what you’re talking about re. Tumbleweed. See:

:~> rpm -qa | grep -i virtualboxvirtualbox-qt-5.2.8-1.1.x86_64
virtualbox-5.2.8-1.1.x86_64
virtualbox-host-source-5.2.8-1.1.noarch
virtualbox-host-kmp-default-5.2.8_k4.15.8_1-1.1.x86_64

Furthermore, is your user a member of the vboxusers group?

I currently have no acces to a couple of Leap 42.3 boxes with Vbox running, but I’m sure I would have heard the users if their guest-additions wouldn’t work. Please show output of the services status, between CODE tags, the # in the layout ribbon

Thanks very much for the quick response!

Here’s exactly what I’m trying to do. Then I’ll respond to your request:
I’m in YaST Software Management. I’ve installed virtualbox. Now, I click on the box next to virtualbox-guest-tools. I get a popup window that begins "virtualbox-guest-tools-5.1.32-42.1.x86_64 requires virtualbox-guest-kmp = 5.1.32, but this requirement cannot be provided / uninstallable providers: virtualbox-guest-kmp-default-5.1.32_k4.4.104_39-42.1.x86_64[repo-update] Conflict Resolution:
The three choices for resolution are uninstall the host, do not insstall the guest, or install it and ignore dependencies.

Running rpm -qa | grep -i virtualboxvirtualbox-qt-5.2.8-1.1.x86_64
gets no response, since you’re working with 5.2.8 and the openSuSE repositories have 5.1.32-42.1.
Running rpm -qa | grep -i virtualboxvirtualbox-qt-5.1.32-42.1.x86_64
also gets no response.
Running rpm -qa | grep -i virtualbox-qt-5.1.32-42.1.x86_64
gets: virtualbox-qt-5.1.32-42.1.x86_64 in red.

I did a fresh install of Leap 42.3, so I’m using the standard openSuSE leap 42.3 repositories. I suspect you are using a different repository, since your version of virtualbox is the current one at virtualbox.org.

Based on my conjecture about your repositories, I looked around and found
http://download.opensuse.org/repositories/Virtualization/openSUSE_Leap_42.3/
Adding that repository, I was able to install virtualbox 5.2.8-384.5. One dependency is host-kmp which is version 5.2.8_k4.4.114_42-384.5. That is accepted without complaint, but when I try to select virtualbox-guest-tools, I get the same error message as above, adjusting for the different VBox version number.

Why do you want to install the guest additions on the host?
You need to install them in the guest. If your guest is openSUSE, they should get installed automatically though.

I use VirtualBox in TW using the openSUSE repository. The installed packages are: virtualbox, virtualbox-host-kmp-default, virtualbox-host-source, virtualbox-qt.

If you want to install guest additions to be able to utilize usb 2 or 3, you go to the virtualbox.org site, download the guest additions and chose to open it with virtualbox.

To install the guest additions in a windows client, you just select it from the menu as normal and it will look after the rest. To install it in a linux client, google should find the procedure for your flavor.

No.
To use USB 2 or 3, you need to download and install the “Extension Pack” (from virtualbox.org, it’s not available in openSUSE because it’s proprietary/closed-source and may not be distributed by 3rd parties), not the guest additions…

My mistake. Went by memory, should have reviewed the site again.

Clarifying and summarizing the bits and pieces in each post of this thread…

Virtualbox Extensions are a desirable feature to install <on the HostOS>. If you’re not prompted to install, you go to the Oracle Virtualbox site and click on the links to download and install.

Virtualbox Guest Additions are a desirable feature to install <in the Guest>. If you install an openSUSE OS as a Guest, then an Additions version will be automatically installed <during installation>. If you install any other GuestOS or do a P2V, you’ll probably have to install. Guest Additions should always be made available as part of the main Virtualbox install so that the Additions version matches the overall VBox version. To manually install, do the following…

  • Install the C development tools in your Guest, which includes the gnu C compiler, make and kernel headers. In openSUSE, the following command installs these requirements(Assumes you are running the Default kernel)
zypper in gcc make kernel-devel kernel-default-devel
  • If the GuestOS is openSUSE, uninstall the already installed Guest Additions from openSUSE.

  • “Remove” any mounted CDROM image in the Guest Settings > Storage
    I’ve found that recently this is required, in the old days the old image would be automatically unmounted so a new image can be mounted but not today.

  • In the Guest Graphical Console (Window), in the menubar Devices > Insert Guest Additions CD Image"

  • Within the GuestOS, open a graphical File Manager or a terminal to the mounted CD location which will vary depending on the GuestOS. If this is an openSUSE Guest, then the location is the following where is your logged in User account name

/run/media/*<user>*/VBox_GAs_*/
  • Execute the VBoxLinuxAdditions.run file
    Watch the output carefully for any errors which might need to be resolved, but in most cases the installation will complete successfully without further action.

-Activate the newly installed Guest Additions by either logging out and back again or simply rebooting. I generally test whether Guest Additions are working properly by going Full Screen or DragNDrop between the GuestOS and HostOS (both require a supported Window Manager and the latter proper Guest Settings).

HTH,
TSU

I love this community. I really appreciate the rapid, in-depth responses I receive when I have recalcitrant problems.

I have many years (since SuSE 4.1!) with SuSE. In the last decade, I have been running specialized applications and unstable test systems in Windows and Linux VM systems inside Windows VirtualBox. I wish to switch from a Windows host to a Linux host. The guests will include Windows 2000 and later, SuSE, Debian, PureOS, Android emulators and TurnKey Linux VMs.

Here is why I like guest tools: 1. seamless movement of the mouse and keyboard among host and guests. 2. clipboard copy and paste among host and guests. 3. Drag and Drop files among host and guests. KVM and/or Xen may also do such things, but I don’t know enough about them to determine that. Primarily, I have more than 5 years of VMs that I can move from one computer to another without having to change any drivers. That should be a benefit of any VM host.

Re wolfi323 1. Why do you want to install the guest additions on the host? The last time I tried a SuSE host, the Guest Additions were provided by an ISO image supplied by the host. In the case of a Linux guest, that involved recompiling the kernel. If that has changed, I missed the transition. Please bear in mind that most of my VM OSs will not be SuSE. What is the better way to do this?
2. To use USB 2 or 3, you need to download and install the “Extension Pack”… When I installed VirtualBox through YaST, I got a popup telling me that I needed to “opt out” to avoid getting the USB tools installed. The Extension Pack still has a more restrictive license, but somehow it appears to be included by default during an install, though I have to confirm acceptance of it.

Re doscott 1. The installed packages are… The issue is with two having an anomalous version number. virtualbox-host-kmp-default-5.1.32_k4.4.104_39-42.1.x86_64 and virtualbox-guest-kmp-default-5.1.32_k4.4.104_39-42.1.x86_64 clearly have an unusual history, called out by the string “_k4.4.104_39” embedded in the version ID. The host-kmp package is imported without problems. The guest-kmp cannot be imported into the host. Perhaps its broken dependencies are resolved when it is in the guest within a kernel-compile environment.
2. Your comment was helpful. Wolfi was unnecessarily harsh in his response, and may even be wrong, based on the popup message I received when installing virtualbox.

Re tsu2: Thank you very much for your detailed response! It will take me at least several days to fully absorb your comments and suggestions. Since I didn’t find VBoxGuestAdditions.iso, I was expecting YaST Software Management to make it, or something equivalent, available when I tried to install virtualbox-guest-tools. I have done the guest kernel compile before, but it was initiated by loading the ISO, and it seemed to be very adaptable to different Linux distros. Now I don’t see that ISO for download either at SuSE or at virtualbox.org.

I finally managed to look inside the SuSE RPM file I downloaded from virtualbox.org. The incantation “rpm -ql -p ./*rpm | grep -i Additions” let me find /usr/share/virtualbox/VBoxGuestAdditions.iso within the many files of the RPM. A “find” search for that file name failed to turn it up anywhere in the Leap 42.3 file structure.

Thanks again for your many helpful comments. I will be working through the suggestions in this thread for a while.

Re doscott 1. The installed packages are… The issue is with two having an anomalous version number. virtualbox-host-kmp-default-5.1.32_k4.4.104_39-42.1.x86_64 and virtualbox-guest-kmp-default-5.1.32_k4.4.104_39-42.1.x86_64 clearly have an unusual history, called out by the string “_k4.4.104_39” embedded in the version ID. The host-kmp package is imported without problems. The guest-kmp cannot be imported into the host. Perhaps its broken dependencies are resolved when it is in the guest within a kernel-compile environment.
2. Your comment was helpful. Wolfi was unnecessarily harsh in his response, and may even be wrong, based on the popup message I received when installing virtualbox.

I use VirtualBox primarily for Windows, plus an Ubuntu image through vagrant. I don’t have virtualbox-guest-kmp-default installed.

i didn’t find Wolfi’s comment harsh at all. He was correct.

Again, you need to install the guest additions in the guest.

They come on a cd image though, which you can “insert” into a VM via the VM’s Devices->Insert Guest Additions menu entry.
That ISO will be downloaded then and added as virtual CD drive to the guest.
This ISO was never part of any openSUSE packages, only Oracle’s VirtualBox package does include it. It’s downloaded automatically anyway when choosing that menu entry, but you can download it manually and insert it like any other CD image too if you prefer.

But again, there’s no point in installing virtualbox-guest-tools on the host, this contains the precompiled guest tools for an openSUSE guest and should only be installed in an openSUSE guest (which should happen automatically).

2. To use USB 2 or 3, you need to download and install the “Extension Pack”… When I installed VirtualBox through YaST, I got a popup telling me that I needed to “opt out” to avoid getting the USB tools installed. The Extension Pack still has a more restrictive license, but somehow it appears to be included by default during an install, though I have to confirm acceptance of it.

No.
You just accepted that virtualbox can access USB devices.
But virtualbox only supports USB 1.1 out of the box.
If you want/need USB 2 or 3, you need to download the “Extension Pack” from virtualbox.org and install it in virtualbox’s settings.
See also https://www.virtualbox.org/manual/ch01.html#intro-installing

  1. Your comment was helpful. Wolfi was unnecessarily harsh in his response, and may even be wrong, based on the popup message I received when installing virtualbox.

Excuse me?
Where/in what way was I harsh?
I just corrected an incorrect statement.

And no, I am not wrong.

Although, I’m not really sure I should continue to reply here at all… :-/
Good luck.

A bit of a technical head’s up, but only for those who want or need to dig deeper than “It just works.”

Virtualbox 5.2 was released a little under 3 weeks ago (as of this post).
Currently, openSUSE is still distributing VBox 5.1,
From what I can see (and experience since I’m running 5.2), the User probably won’t notice any difference how VBox now works compared to before and where everything is. The only diff I’ve personally noticed is in a new install how the Virtual CDROM was mounted sharing the same virtual disk controller as the hard drive… But, I noticed later that everything reverted to how VBox configured before (The Virtual CDROM is on its own IDE controller while the hard drive is on a SATA controller). An odd experience, but probably not of importance.

But,
If you look below the surface, I think I see a complete re-organization of functionality. At least I see massive differences since I last looked so closely at the individual files but I admit I don’t follow VBox development regularly or close enough to note changes as they happen.

For those who are interested in experimental features, 5.2 may be of interest.
For example, graphics performance has always been OK but lags behind other virtualization, now 5.2 supports “3D pass-through” (probably more than just 3D) but you have to figure out how to make your specific graphics work (The community is still supposedly eager to assist). The statement is here
https://www.virtualbox.org/wiki/X11Guest3D

If you want to install VBox 5.2 before it’s available from openSUSE, generic RPMs and instructions are provided on the Oracle VBox site.

TSU

5.2.0 was released last October.

https://www.virtualbox.org/wiki/Download_Old_Builds_5_2

And I am using 5.2.8 from openSUSE. What am I not understanding?

Me too.

5.2.x is in Tumbleweed since January:
https://build.opensuse.org/request/show/560652

And it’s available since December (since version 5.2.4) in openSUSE’s Virtualization repo, also for Leap 42.3.

(5.2.0 was considered experimental/unstable and therefore the openSUSE maintainer decided to stick to 5.1.x for a while at first)

Thanks for the update. The “a little under 3 weeks ago” through me off.

Yeah. 5.2.8 was released a little under 3 weeks ago. 5.2.0 was released in October, as you wrote.
Apparently some slight confusion on tsu2’s side… :wink:

Yup.
:slight_smile:
Although 5.2.8 was released very recently, it actually looks like the latest in the Oracle repo for Linux is 5.2.5.

But repeating,
Unless someone is in need of some very special feature, ordinary VBox Users should not be concerned how recent their VBox is.

TSU

Look again.

The download link for openSUSE 13.2/42.1 points to a 5.2.8 RPM file:
https://download.virtualbox.org/virtualbox/5.2.8/VirtualBox-5.2-5.2.8_121009_openSUSE132-1.x86_64.rpm

And the repo (for openSUSE 13.2/42.1) contains 5.2.8 as well:
http://download.virtualbox.org/virtualbox/rpm/opensuse/13.2/x86_64/

Actually there never was a 5.2.5 release…

Note that the version number of Oracle’s packages is something like 5.2-5.2.8 though. Maybe you just saw the 5.2-5 and considered it to be 5.2.5…

But repeating,
Unless someone is in need of some very special feature, ordinary VBox Users should not be concerned how recent their VBox is.

Agreed.
But Tumbleweed normally does have the latest one anyway, that’s the purpose of Tumbleweed.

My mistake, misread the package name at the repository which is
5.2-5.2.8 at
http://download.virtualbox.org/virtualbox/rpm/opensuse/13.2/x86_64/

TSU