I have edit the source files following the patch said. It does not work for me.
I got the same error about “vmas”.
How do you succeed to install from virtualbox rpm.
Any help is welcome
I have edit the source files following the patch said. It does not work for me.
I got the same error about “vmas”.
How do you succeed to install from virtualbox rpm.
Any help is welcome
How do you succeed to install from virtualbox rpm.
Under kernel 4.12 the rpm from the Oracle Side does also not work, so I have switched to the Package from openSUSE from Kernel:stable:kmp
Its working fine.
Try the one from Virtualization Repo as wolfi323 mentioned?
Have a problem :
[CODE#### YaST2 conflicts list - generated 2017-07-13 13:19:48 ####
nothing provides ksym(default:__free_pages) = 7c095e73 needed by virtualbox-host-kmp-default-5.1.22_k4.4.74_18.20-311.3.x86_64
[ ] do not install virtualbox-host-kmp-default-5.1.22_k4.4.74_18.20-311.3.x86_64
] break virtualbox-host-kmp-default-5.1.22_k4.4.74_18.20-311.3.x86_64 by ignoring some of its dependencies
]
What package to install to have the same things as Oracle Virtrualbox package :
python-virtualbox
virtualbox
virtualbox-devel
virtualbox-guest-desktop-icons
virtualbox-guest-kmp-default
virtualbox-guest-tools
virtualbox-guest-x11
virtualbox-host-kmp-default
virtualbox-qt
virtualbox-vnc
virtualbox-websrv
Post:
zypper lr -d
uname -a
rpm -qa kerne* virtualbo*
zypper :
superjc@linux-j302:~> zypper lr -d
Repository priorities in effect: (See 'zypper lr -P' for details)
60 (raised priority) : 1 repository
93 (raised priority) : 1 repository
94 (raised priority) : 1 repository
95 (raised priority) : 1 repository
96 (raised priority) : 1 repository
97 (raised priority) : 1 repository
98 (raised priority) : 1 repository
99 (default priority) : 1 repository
# | Alias | Name | Enabled | GPG Check | Refresh | Priority | Type | URI | Service
---+---------------------------+-----------------------------------------+---------+-----------+---------+----------+----------+------------------------------------------------------------------------------+--------
1 | download.nvidia.com-leap | nVidia Graphics Drivers | Yes | (r ) Yes | Yes | 98 | rpm-md | https://download.nvidia.com/opensuse/leap/42.3 |
2 | openSUSE-Leap-42.3-0 | openSUSE-Leap-42.3-0 | No | ---- | ---- | 150 | yast2 | cd:///?devices=/dev/disk/by-id/ata-MATSHITABD-CMB_UJ160_WN63_051734 |
3 | openSUSE_Virtualization | openSUSE_Virtualization | Yes | (r ) Yes | Yes | 93 | rpm-md | http://download.opensuse.org/repositories/Virtualization/openSUSE_Leap_42.3/ |
4 | packman.inode.at-suse | Packman Repository | Yes | (r ) Yes | Yes | 94 | rpm-md | http://packman.inode.at/suse/openSUSE_Leap_42.3/ |
5 | repo-debug | openSUSE-Leap-42.3-Debug | No | ---- | ---- | 150 | NONE | http://download.opensuse.org/debug/distribution/leap/42.3/repo/oss/ |
6 | repo-debug-non-oss | openSUSE-Leap-42.3-Debug-Non-Oss | No | ---- | ---- | 150 | NONE | http://download.opensuse.org/debug/distribution/leap/42.3/repo/non-oss/ |
7 | repo-debug-update | openSUSE-Leap-42.3-Update-Debug | No | ---- | ---- | 150 | NONE | http://download.opensuse.org/debug/update/leap/42.3/oss/ |
8 | repo-debug-update-non-oss | openSUSE-Leap-42.3-Update-Debug-Non-Oss | No | ---- | ---- | 150 | NONE | http://download.opensuse.org/debug/update/leap/42.3/non-oss/ |
9 | repo-non-oss | openSUSE-Leap-42.3-Non-Oss | Yes | (r ) Yes | Yes | 99 | yast2 | http://download.opensuse.org/distribution/leap/42.3/repo/non-oss/ |
10 | repo-oss | openSUSE-Leap-42.3-Oss | Yes | (r ) Yes | Yes | 97 | yast2 | http://download.opensuse.org/distribution/leap/42.3/repo/oss/ |
11 | repo-source | openSUSE-Leap-42.3-Source | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/distribution/leap/42.3/repo/oss/ |
12 | repo-source-non-oss | openSUSE-Leap-42.3-Source-Non-Oss | No | ---- | ---- | 99 | NONE | http://download.opensuse.org/source/distribution/leap/42.3/repo/non-oss/ |
13 | repo-update | openSUSE-Leap-42.3-Update | Yes | (r ) Yes | Yes | 95 | rpm-md | http://download.opensuse.org/update/leap/42.3/oss/ |
14 | repo-update-non-oss | openSUSE-Leap-42.3-Update-Non-Oss | Yes | (r ) Yes | Yes | 96 | rpm-md | http://download.opensuse.org/update/leap/42.3/non-oss/ |
15 | zypper_local_for_install | zypper_local_for_install | Yes | ( p) Yes | Yes | 60 | plaindir | dir:///local/000_install_from_local_for_install |
superjc@linux-j302:~>
uname :
superjc@linux-j302:~> uname -a
Linux linux-j302.suse 4.4.75-1-default #1 SMP Fri Jul 7 11:28:32 UTC 2017 (0b7a836) x86_64 x86_64 x86_64 GNU/Linux
superjc@linux-j302:~>
rpm :
superjc@linux-j302:~> rpm -qa kerne* virtualbo*
kernel-default-devel-4.4.74-1.1.x86_64
kernel-devel-4.4.75-1.1.noarch
kernel-source-4.4.75-1.1.noarch
kernel-syms-4.4.74-1.1.x86_64
kernel-docs-html-4.4.75-1.1.noarch
kernel-default-4.4.75-1.1.x86_64
kernel-macros-4.4.75-1.1.noarch
kernel-devel-4.4.74-1.1.noarch
kernel-source-4.4.74-1.1.noarch
kernel-default-4.4.74-1.1.x86_64
kernel-firmware-20170530-9.1.noarch
kernel-default-devel-4.4.75-1.1.x86_64
kernel-syms-4.4.75-1.1.x86_64
superjc@linux-j302:~>
You need virtualbox, virtualbox-qt and virtualbox-host-kmp-default.
But if you install virtualbox, the rest should be pulled in automatically.
And uninstall Oracle’s VirtualBox package first, or you will encounter problems.
Regarding your previous conflict: I notice that the Virtualization repo for 42.3 actually builds against 42.2:Update, so I think this is not going to work…
So better remove that repo and install the version from the standard 42.3 repo instead if there still are conflicts, it has been updated meanwhile to 5.1.22. (now 5.1.24 is the latest though, but I’m sure that will be released as update for 42.3 too)
This has been fixed yesterday though, so also the packages in that repo should work now.
I have a similar problem as OP, I recently upgraded 42.2->42.3
I have installed an older Oracle version.
If I uninstall that Oracle version of vbox and install the version in the 42.3 repo (currently shown as v5.1.24-22.1) will it pick up the existing VM settings or will I have to recreate them?
Thanks, Jon
Similar is not same.
When in doubt, always start your new thread instead of posting to an existing.
TSU
VirtualBox-5.1-5.1.26_117224_openSUSE132-1.x86_64 from virtualbox does not install on latest kernel 4.4.79-4-default. Nothing new.
I will try to install 5.1.26 from update/leap/42.3/oss/x86_64.
Yes, because the fix will only be in the next VirtualBox version.
But there’s absolutely no advantage at all in using Oracle’s package over the one included in openSUSE…
I noticed that the guest additions ISO appears to be distributed as part of the Oracle VirtualBox package (eg. the one that doesn’t build on 42.3). For those of us who’ve switched to the VB package in the 42.3 repo, is the only way to install guest drivers to manually extract that ISO from the Oracle package?
wolfi323 wrote:
> But there’s absolutely no advantage at all in using Oracle’s package
> over the one included in openSUSE…
I stay with them because in the past they get earlier (and more often) updates
as the version from oss.
Can i use the version from oss with using multiversion for the kernel? The
version from Oracle works perfect with multiple kernels.
AK
P.S. Just tested the patch for vboxhost and vboxguest modules from Oracles 5.1.22 rpm against a kernel for 42.3. Although it needs some manual tinkering (patch does not apply cleanly against vboxguest and one needs to take care of different path structure), I can confirm that this works.
Patch for vboxguest:
diff -uraN vboxguest-5.1.22.orig/vboxguest/r0drv/linux/memobj-r0drv-linux.c vboxguest-5.1.22/vboxguest/r0drv/linux/memobj-r0drv-linux.c
--- vboxguest-5.1.22.orig/vboxguest/r0drv/linux/memobj-r0drv-linux.c 2017-07-04 14:33:29.068577884 +0200
+++ vboxguest-5.1.22/vboxguest/r0drv/linux/memobj-r0drv-linux.c 2017-07-04 14:35:18.464574652 +0200
@@ -1084,18 +1084,14 @@
# endif
);
#else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
- rc = get_user_pages(pTask, /* Task for fault accounting. */
- pTask->mm, /* Whose pages. */
- R3Ptr, /* Where from. */
+ /* The following is modified for Leap 42.3 having the
+ * get_user_pages() API from kernel 4.10
+ */
+ rc = get_user_pages(R3Ptr, /* Where from. */
cPages, /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
fWrite ? FOLL_WRITE | /* Write to memory. */
FOLL_FORCE /* force write access. */
: 0, /* Write to memory. */
-# else
- fWrite, /* Write to memory. */
- fWrite, /* force write access. */
-# endif
&pMemLnx->apPages[0], /* Page array. */
papVMAs); /* vmas */
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
Patch for vboxhost:
diff -uraN vboxhost-5.1.22.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c vboxhost-5.1.22/vboxdrv/r0drv/linux/memobj-r0drv-linux.c
--- vboxhost-5.1.22.orig/vboxdrv/r0drv/linux/memobj-r0drv-linux.c 2017-07-04 14:41:56.640562887 +0200
+++ vboxhost-5.1.22/vboxdrv/r0drv/linux/memobj-r0drv-linux.c 2017-07-04 14:42:41.748561554 +0200
@@ -1084,18 +1084,14 @@
# endif
);
#else /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
- rc = get_user_pages(pTask, /* Task for fault accounting. */
- pTask->mm, /* Whose pages. */
- R3Ptr, /* Where from. */
+ /* The following is modified for Leap 42.3 having the
+ * get_user_pages() API from kernel 4.10
+ */
+ rc = get_user_pages(R3Ptr, /* Where from. */
cPages, /* How many pages. */
-# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
fWrite ? FOLL_WRITE | /* Write to memory. */
FOLL_FORCE /* force write access. */
: 0, /* Write to memory. */
-# else
- fWrite, /* Write to memory. */
- fWrite, /* force write access. */
-# endif
&pMemLnx->apPages[0], /* Page array. */
papVMAs); /* vmas */
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 6, 0) */
[/QUOTE]
Thanks for posting the patches, when I updated to 42.3 oracle’s virtual box actually worked with an xp guest until I updated to 5.1.26 and even more disappointment when downgrading didn’t fix the problem. Knowing that it was third party software I left it alone as I didn’t have a pressing use for it and was too busy fixing other things to have time to fix this. Had a bit of spare time and after googling found this forum thread and applying the patch to /usr/share/virtualbox/src/vboxhost/vboxdrv/r0drv/linux/memobj-r0drv-linux.c allowed the module to build again.
Thanks you’re a life saver.
No.
Just choose “Insert guest additions ISO” from the VM’s “Devices” menu, and VirtualBox will download the ISO automatically (if it hasn’t done so already) before it inserts it into the VM.
Or you can download the guest additions (any version since 4.0.0) manually here:
https://download.virtualbox.org/virtualbox
Of course you get updates earlier (I don’t think “more often” nowadays). Although you can also use the additional “Virtualization” repo to get the latest version earlier.
Can i use the version from oss with using multiversion for the kernel? The
version from Oracle works perfect with multiple kernels.
Depends on what exactly you mean with “multiplekernels”.
The precompiled kernel module is built against the standard kernels in the distribution and does not work with other ones. (it does work with all of them if you have multiple versions installed).
There is an extra package with the source code though (virtualbox-host-source), which should make it possible to use completely different kernels.
I never tried that myself though.
FYI, the “official” upstream patch (that will be in the next VirtualBox version) is this:
https://www.virtualbox.org/changeset/68217/vbox/?old=68214&old_path=%2Fvbox
It should also work with “normal” 4.4.x kernels.
wolfi323 wrote:
> Depends on what exactly you mean with “multiplekernels”.
I mean that i use this in /etc/zypp/zypp.conf:
multiversion = kernel-default kernel-default-devel kernel-devel
I don’t know how old this is but my former experience was that i can use the
kernel modul only with the last kernel. But your words show me that the version
from opensuse should work in the same way and thanks for this informations.
Hm, why did you change that?
The default “multiversion = provides:multiversion(kernel)” should achieve exactly that.
I don’t know how old this is
multiversion kernels is the default in openSUSE since years, 12.x I think, maybe even longer.
but my former experience was that i can use the
kernel modul only with the last kernel. But your words show me that the version
from opensuse should work in the same way and thanks for this informations.
This works since multiversion is default. (unless there was a bug that an incompatible update was released, that happened one time by mistake in 13.2 IIRC).
The kernel ABI is kept stable in a released openSUSE version and a script is run on every kernel update that creates symlinks to all other installed kernels if they are compatible.
So yes, this will work as long as you only use official kernels of the openSUSE release you have installed.
If you installed additional kernels (with an incompatible ABI) from somewhere else (or maybe self-compiled), pre-compiled kernel modules break of course.
But again, there’s the virtualbox-host-source package for that case now.