Bug 1174492 - oracle Virtualbox 6.1 : I can install on 15.1 but not on 15.2
oracle Virtualbox 6.1 : I can install on 15.1 but not on 15.2
Status: RESOLVED INVALID
Classification: openSUSE
Product: openSUSE Distribution
Classification: openSUSE
Component: Kernel
Leap 15.2
x86-64 Other
: P5 - None : Major (vote)
: ---
Assigned To: openSUSE Kernel Bugs
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2020-07-25 20:17 UTC by Jean-Claude Dole
Modified: 2020-08-02 18:34 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
vbox-setup.log (26.39 KB, text/x-log)
2020-07-25 20:17 UTC, Jean-Claude Dole
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Claude Dole 2020-07-25 20:17:54 UTC
Created attachment 840044 [details]
vbox-setup.log

After a fresh install of 15.1 and 15.2 and after adding kernel package, installing oracle virtualbox Version 6.1.12 r139181 (Qt5.12.7) give error on leap 15.2 :

#
# ---
#
:~ # uname -a
Linux ASUS-G75VW-JC 5.3.18-lp152.26-default #1 SMP Mon Jun 29 14:58:38 UTC 2020 (2a0430f) x86_64 x86_64 x86_64 GNU/Linux
#
# ---
#
:~/Downloads> sudo zypper in  VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64.rpm
[sudo] password for root: 
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  VirtualBox-6.1

1 new package to install.
Overall download size: 83.1 MiB. Already cached: 0 B. After the operation, additional 195.6 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): 
Retrieving package VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64                                                                                                                   (1/1),  83.1 MiB (195.6 MiB unpacked)
VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64.rpm:
    Header V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY
    V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY

Looking for gpg key ID 98AB5139 in cache /var/cache/zypp/pubkeys.
Repository Plain RPM files cache does not define additional 'gpgkey=' URLs.
VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64 (Plain RPM files cache): Signature verification failed [4-Signatures public key is not available]
Abort, retry, ignore? [a/r/i] (a): i

Checking for file conflicts: .........................................................................................................................................................................................[done]
(1/1) Installing: VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64 ..................................................................................................................................................[done]
Additional rpm output:
warning: /var/cache/zypper/RPMS/VirtualBox-6.1-6.1.12_139181_openSUSE150-1.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 98ab5139: NOKEY

Creating group 'vboxusers'. VM users must be member of that group!

Created symlink /etc/systemd/system/multi-user.target.wants/vboxdrv.service -> /usr/lib/systemd/system/vboxdrv.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxballoonctrl-service.service -> /usr/lib/systemd/system/vboxballoonctrl-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxautostart-service.service -> /usr/lib/systemd/system/vboxautostart-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxweb-service.service -> /usr/lib/systemd/system/vboxweb-service.service.
vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.  If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.
#
# ---
#
:~ # modinfo -n vboxdrv
modinfo: ERROR: Module vboxdrv not found.
#
# ---
#
:~ # find /lib -name "vboxdrv*"
/lib/modules/5.3.18-lp152.26-default/misc/vboxdrv.ko
#
# ---
#

ASk if you need more appropriate information.

Any help is welcome
Comment 1 Takashi Iwai 2020-07-26 08:04:50 UTC
Are you using Secure Boot?  If yes, that's the likely problem.
If yes, try to turn it off in BIOS, or you'd have to sign your module by yourself.
Comment 2 Jean-Claude Dole 2020-07-26 18:07:32 UTC
Secure Boot Control is disable
Fast Boot is disabled
Launch CSM is disabled.

Boot is done using "opensuse-secureboot (P1 : Hitachi HTS72757A9E364)"

By the way is there any opensuse document which explains how to sign a module.

Any help is welcome.
Comment 3 Takashi Iwai 2020-07-27 08:01:06 UTC
Well, it's a downstream package, so I don't know (and am not interested much) about that problem.
Can you try the package in OBS Virtualization repo instead?
Comment 4 Jean-Claude Dole 2020-07-27 15:54:52 UTC
Because all my computers run oracle virtualbox 6.1.12. on leap 15.1

Comparing with bug 1173944 - Kernel 5.3.18-lp152.20.7 doesn't load VirtualBox kernel driver
My kernel (5.3.18-lp152.33.1) use "/etc/uefi/certs/F1C08E27.crt" I suppose that is correct ?
Comment 5 Jean-Claude Dole 2020-07-27 15:57:28 UTC
The error :
"/tmp/vbox.0/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltLinuxSkBufToSG’:
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:931:36: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘size’
         pSG->aSegs[iSeg].cb = pFrag->size;
                                    ^~
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:932:66: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
         pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
                                                                  ^~~~~~~~~~~
                                                                  bv_offset
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:952:40: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘size’
             pSG->aSegs[iSeg].cb = pFrag->size;
                                        ^~
/tmp/vbox.0/linux/VBoxNetFlt-linux.c:953:70: error: ‘skb_frag_t {aka struct bio_vec}’ has no member named ‘page_offset’; did you mean ‘bv_offset’?
             pSG->aSegs[iSeg].pv = VBOX_SKB_KMAP_FRAG(pFrag) + pFrag->page_offset;
                                                                      ^~~~~~~~~~~
                                                                      bv_offset
"

Looks like a very old error when opensuse leave 13.2 to leap 42.3

Any help is welcome.
Comment 6 Takashi Iwai 2020-07-27 16:02:12 UTC
You should check then the stock VirtualBox package on Leap 15.2.  It contains the possible fix for the Leap 15.2 kernel.

And we can't offer further help here; if it's about the openSUSE VirtualBox package (either the official Leap 15.2 one or in OBS Virtualization project), we can hunt for the bug.  But in this case, you're building from the scratch by yourself, so...
Comment 7 Manfred Schwarb 2020-07-28 10:58:46 UTC
It is due to Opensuse backporting things from kernel 5.4 to 5.3.*, see
https://www.virtualbox.org/ticket/19724
Comment 8 Larry Finger 2020-07-28 21:36:47 UTC
Those build errors for the kernel modules are fixed for all openSUSE releases. If you really want 6.1.12, you should get it from the Virtualization repo at https://build.opensuse.org/package/show/Virtualization/virtualbox. Select the binaries for your distro. As far as I know, all of those are signed.
Comment 9 Jean-Claude Dole 2020-07-31 10:42:44 UTC
Does not work for me. I got two copy of vboxdrv in two different folder.
Comment 10 Jean-Claude Dole 2020-07-31 10:48:36 UTC
For people which want to use Oracle Virtualbox stuff, there is a workaround.
See https://www.virtualbox.org/ticket/19724
#comment:12
I followed the indications and that works for me.
Regards
Comment 11 Larry Finger 2020-07-31 16:15:54 UTC
(In reply to Jean-Claude Dole from comment #9)
> Does not work for me. I got two copy of vboxdrv in two different folder.

Please be more specific. What folders? Are you aware that there must be a copy for every kernel installed?

That patch at https://www.virtualbox.org/ticket/19724 has been a part of the openSUSE modifications since July 8, 2020.
Comment 12 Jean-Claude Dole 2020-08-02 09:17:15 UTC
(In reply to Larry Finger from comment #11)
> (In reply to Jean-Claude Dole from comment #9)
> > Does not work for me. I got two copy of vboxdrv in two different folder.
> .......................... 
>
There were 4 modules 'vbox*.ko' including 'vboxdrv.ko' in /lib/modules/5.3.18-lp152.26-default/misc
and one copy of vboxdrv.ko in /lib/modules/5.3.18-lp152.19-default/extra
!!! I am not sure presently of ''default/extra'' !!!

Ps : The 2020-07-25th, I was running kernel 5.3.18-lp152.26-default; I started from scratch a new install for using the patch. The running kernel is now 5.3.18-lp152.33-default
Comment 13 Jean-Claude Dole 2020-08-02 09:29:33 UTC
(In reply to Larry Finger from comment #11)
> (In reply to Jean-Claude Dole from comment #9)
> > Does not work for me. I got two copy of vboxdrv in two different folder.
> 
> .............
> ...........
> 
> That patch at https://www.virtualbox.org/ticket/19724 has been a part of the
> openSUSE modifications since July 8, 2020.

Nowhere you told me that workaround exists and may work.
You knew that workaround when you read my message on July 20th and yet let me alone out of my troubles when I needed help.
Well, that's not very friendly.
Comment 14 Larry Finger 2020-08-02 18:34:50 UTC
VirtualBox 6.1.12 is not released for openSUSE Leap 15.1. When you deviate from the supported version, any support will be contingent on the amount of time that I have available.

There MUST be a copy of the appropriate vbox*.ko files in the module directory for EVERY kernel you have installed. On Linux, old drivers will not load.

I'm sorry that you feel you did not receive prompt attention. By the way, you never responded to a request for information, thus I thought the issue was dead!

I am ready to relinquish my maintainership. If you or anyone you know can do a better job, then please let me know.