Edit Info Other
Login

VirtualBox"

Differences between revisions 22 and 61 (spanning 39 versions)
Revision 22 as of 2016-04-25 16:14:05
Size: 4776
Comment:
Revision 61 as of 2023-11-01 19:40:16
Size: 8851
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 14: Line 15:
    systemctl restart systemd-modules-load.service
    dmesg | grep -i vbox
    systemctl restart vboxdrv
    lsmod  | grep -i vbox
Line 19: Line 21:
    [ 2870.556703] vboxdrv: module verification failed: signature and/or required key missing - tainting kernel
    [ 2870.565213] vboxdrv: Found 2 processor cores
    [ 2870.571315] vboxdrv: fAsync=0 offMin=0x1c2 offMax=0xa5f
    [ 2870.671515] vboxdrv: TSC mode is Synchronous, tentative frequency 3000795689 Hz
    [ 2870.671519] vboxdrv: Successfully loaded version 5.0.6_ (interface 0x00240000)
    [ 2870.671946] VBoxNetFlt: Successfully started.
    [ 2870.672227] VBoxNetAdp: Successfully started.
}}}
  
vboxnetadp 28672 0
vboxnetflt 32768 0
vboxdrv 557056 2 vboxnetadp,vboxnetflt

}}}
  
== First time installation and USB passthrough ==

To have access to USB passthrough, you need add the user that run !VirtualBox-server to vboxusers group, but just after installation of !VirtualBox-server package, because !VirtualBox-server creates the "vboxusers" group on installation.

As root you may do :

usermod -a -G vboxusers username ( usermod -a -G vboxusers sergiomb )

or use the GUI Users and Groups tool.

Note: USB passthrough requires read/write access to USB devices. As a result may runs some parts of its code with root privileges. Once a user is in the vboxusers group, it may have ways to get root access. Please do not add anyone who is not trustworthy to the vboxusers group!
Line 31: Line 42:
{i} UPDATE <<BR>>
starting in Fedora 36 secureboot is supported by akmods please read /usr/share/doc/akmods/README.secureboot (from akmods package) for more details <<BR>>
also more information on [[../Secure Boot]] <<BR>>


{{{
# modprobe vboxdrv

    modprobe: ERROR: could not insert 'vboxdrv': Key was rejected by service
}}}

It happens when secure boot is enable and so far we can run it with secure boot enabled because kernel modules still not signed
Line 35: Line 59:
https://ask.fedoraproject.org/en/question/34470/virtual-box-on-fedora-19-fails-to-start-a-vm/

or google for "virtualbox fedora secure boot" ,
   
https://askbot.fedoraproject.org/en/question/34470/virtual-box-on-fedora-19-fails-to-start-a-vm/

or google for "virtualbox fedora secure boot", we have some progresses here [3]

[3] https://bugzilla.redhat.com/show_bug.cgi?id=1454824
  
Line 42: Line 67:
1- if you don't need usb or just for testing , go to setting usb and disable 1- If you don't need usb or just for testing , go to setting usb and disable
Line 45: Line 70:
2 - with firefox click here : 2 - With firefox download Oracle_VM_VirtualBox_Extension_Pack-5.1.30.vbox-extpack for example click here :
Line 49: Line 74:
3 - after try file -> check for updates , also should install the correct
extpackage
3 - After on updates check, ask to download automatically over the internet, after update VirtualBox please try file -> check for updates and should install the correct
extension package
Line 66: Line 91:
    # User is advised to run this after upgrades
    /sbin/modprobe -r -b vboxnetflt
    /sbin/modprobe -r -b vboxnetadp
    /sbin/modprobe -r -b vboxdrv
    /sbin/modprobe -r -b vboxpci
    /sbin/modprobe -r -b vboxdrv
    akmods
    systemctl restart systemd-modules-load
    akmods-shutdown
    systemctl restart vboxdrv
Line 76: Line 95:
    == Fedora as a Virtual Machine ==

Install !VirtualBox-guest.
!VirtualBox-guest replaces !VBoxGuestAdditions for Fedora itself, !VirtualBox-guest is just to install in a vm guest system, You can't install !VirtualBox-guest in a host system. Therefore !VirtualBox-guest conflicts with !VirtualBox by design.

RPMFusion doesn't provide VBoxGuestAdditions for others OS , you have to download it , you have a button for that in !VirtualBox, vm manager menu.
{{{

    dnf install VirtualBox-guest kernel-devel-$(uname -r)
    akmods
    systemctl restart systemd-modules-load

if you run an upgrade version don't forget update also !VirtualBox_Extension_Pack (if you have it installed)
http://rpmfusion.org/Howto/VirtualBox#Install_VirtualBox_Extension_Pack


== Fedora as a Virtual Machine and VBoxGuestAdditions ==

Since Fedora 28 you got virtualBox-guest-additions working out of the box on Fedora proper and is no need akmods anymore (in the vm), package is virtualBox-guest-additions all with lowercase, so just do `dnf install virtualBox-guest-additions` in a vm (guest system). For epel 7 and 8 we still have !VirtualBox-guest-additions on RPM Fusion.

If you want run Fedora in a vm, you may/should install !virtualBox-guest-additions. this replaces VBoxGuestAdditions provide by Oracle

RPM Fusion doesn't provide VBoxGuestAdditions for others OS , you have to download it , you have a button for that in !VirtualBox, vm manager menu.
{{{

    dnf install VirtualBox-guest-additions kernel-devel-$(uname -r)
Line 92: Line 113:
In the last lines should see soemthing like : In the last lines should see something like :
Line 106: Line 127:
== Typical error when building with a kernel-debug ==

{{{
ERROR: modpost: GPL-incompatible module nvidia-drm.ko uses GPL-only symbol 'mutex_lock_nested'
}}}

Looks like the kernel is trying harder to hide GPL-only symbols.

Is this a known problem? Is there a solution

yes, GPL-only symbol error only happens only when you use a debug kernel

debug kernel isn't compatible with nvidia or VirtualBox drivers, please see https://rpmfusion.org/Howto/VirtualBox#I_had_install_kernel-debug-devel_but_I_need_kernel-devel
Line 119: Line 154:
{i} UPDATE <<BR>>
it seems the "kernel-devel-matched" package which is available, at least, since Fedora 35 and Centos 9 fix this issue

mock -r fedora-35-x86_64-rpmfusion_free install kernel
mock -r fedora-35-x86_64-rpmfusion_free install VirtualBox

installs the correct kernel-devel


== Selinux and VirtualBox ==

ATM, we don't support running !VirtualBox with selinux enabled, solution is disable selinux, if selinux prevents !VirtualBox to run, last time that I checked it was working ...

== Uninstall official virtual-guest-additions provide by Oracle and use virtualbox-guest-additions package provide by Fedora ==

navigate to /run/media/<my user name>/VBoxGAs_6.0.4
issue command './VBoxLinuxAdditions.run uninstall'

issue command 'sudo dnf remove virtualbox-linux-additions akmod-VirtualBox'

issue command 'sudo dnf install VirtualBox-linux-additions akmod-VirtualBox'

issue command 'sudo akmods-shutdown'

This command built kmods for 5.0.3, 5.0.4, 5.0.5, taking a couple of minutes.

shut down the Fedora 29 Virtual Machine. (Use GUI or issue command 'sudo shutdown -h now') (I could use the -r flag, but I generally prefer when shutting down to have the machine completely shut down for 15-30 seconds before restarting.)

start the Fedora 29 Virtual Machine.

At this point, the shared folders were visible!

== Install virtual-guest-additions on Centos 9 (stream) ==

{{{
dnf install centos-release-kmods
dnf install virtualbox-guest-additions
systemctl enable vboxservice
}}}

this next maybe need , keep in mind this still in a very early stage
{{{
systemctl start vboxservice
systemctl restart vboxclient
}}}

How to use kmods in EL 9: https://lists.centos.org/pipermail/centos/2022-September/715699.html
 

Troubleshoot :

(Fixed https://gitlab.com/CentOS/kmods/src/kmod-vbox-guest-additions/-/issues/1 ) if you got messages like:
{{{ INFO depmod: `ERROR: fstatat(6, vboxsf.ko.xz): No such file or directory }}}

to fix just remove the broken symlink, for example:
{{{ rm /usr/lib/modules/5.14.0-109.el9.x86_64/weak-updates/fs/vboxsf/vboxsf.ko.xz }}}


<<BR>>
<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

<<BR>>

About this Howto

The goal is have a place with all information that is FAQ.

Quick install

Since F22+ we don't have pre-built kmods we need use akmods.

Please do:

    dnf install VirtualBox kernel-devel-$(uname -r) akmod-VirtualBox
    akmods
    systemctl restart vboxdrv
    lsmod  | grep -i vbox

result:

vboxnetadp             28672  0
vboxnetflt             32768  0
vboxdrv               557056  2 vboxnetadp,vboxnetflt

First time installation and USB passthrough

To have access to USB passthrough, you need add the user that run VirtualBox-server to vboxusers group, but just after installation of VirtualBox-server package, because VirtualBox-server creates the "vboxusers" group on installation.

As root you may do :

usermod -a -G vboxusers username ( usermod -a -G vboxusers sergiomb )

or use the GUI Users and Groups tool.

Note: USB passthrough requires read/write access to USB devices. As a result may runs some parts of its code with root privileges. Once a user is in the vboxusers group, it may have ways to get root access. Please do not add anyone who is not trustworthy to the vboxusers group!

Sign kernel modules to work with secure boot

{i} UPDATE
starting in Fedora 36 secureboot is supported by akmods please read /usr/share/doc/akmods/README.secureboot (from akmods package) for more details
also more information on ../Secure Boot

# modprobe vboxdrv

    modprobe: ERROR: could not insert 'vboxdrv': Key was rejected by service

It happens when secure boot is enable and so far we can run it with secure boot enabled because kernel modules still not signed

To sign kernel modules to make work with secure boot, this 2 posts are a good reference, I haven't test my self:

http://stackoverflow.com/questions/29480176/how-to-install-virtualbox-on-linux-secure-boot-systems-bash-script

https://askbot.fedoraproject.org/en/question/34470/virtual-box-on-fedora-19-fails-to-start-a-vm/

or google for "virtualbox fedora secure boot", we have some progresses here [3]

[3] https://bugzilla.redhat.com/show_bug.cgi?id=1454824

Install VirtualBox_Extension_Pack

1- If you don't need usb or just for testing , go to setting usb and disable usb , for that you have to have vm machine off .

2 - With firefox download Oracle_VM_VirtualBox_Extension_Pack-5.1.30.vbox-extpack for example click here : http://download.virtualbox.org/virtualbox/5.0.14/Oracle_VM_VirtualBox_Extension_Pack-5.0.14.vbox-extpack firefox should ask if you want install with vbox something , say yes

3 - After on updates check, ask to download automatically over the internet, after update VirtualBox please try file -> check for updates and should install the correct extension package

if this doesn't do nothing because you install a superior version

rm -rf /usr/lib64/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack as root , and repeat items 2 and 3

anyway , you should use file -> check for updates to update extension pack

Upgrade VirtualBox version without reboot

On upgrade VirtualBox for a new release, we need remove kernel modules loaded and load new ones (for the new release).

    dnf update VirtualBox kernel-devel-$(uname -r) akmod-VirtualBox
    akmods-shutdown
    systemctl restart vboxdrv
    dmesg | grep -i vbox

if you run an upgrade version don't forget update also VirtualBox_Extension_Pack (if you have it installed) http://rpmfusion.org/Howto/VirtualBox#Install_VirtualBox_Extension_Pack

Fedora as a Virtual Machine and VBoxGuestAdditions

Since Fedora 28 you got virtualBox-guest-additions working out of the box on Fedora proper and is no need akmods anymore (in the vm), package is virtualBox-guest-additions all with lowercase, so just do dnf install virtualBox-guest-additions in a vm (guest system). For epel 7 and 8 we still have VirtualBox-guest-additions on RPM Fusion.

If you want run Fedora in a vm, you may/should install !virtualBox-guest-additions. this replaces VBoxGuestAdditions provide by Oracle

RPM Fusion doesn't provide VBoxGuestAdditions for others OS , you have to download it , you have a button for that in VirtualBox, vm manager menu.

    dnf install VirtualBox-guest-additions kernel-devel-$(uname -r) 
    systemctl restart vboxservice
    dmesg 

In the last lines should see something like :

[ 1907.370440] VBoxService 5.0.17_ r105877 (verbosity: 0) linux.amd64 (Apr  1 2016 05:26:22) release log
               00:00:00.000103 main     Log opened 2016-04-02T01:32:31.428335000Z
[ 1907.370508] 00:00:00.000250 main     OS Product: Linux
[ 1907.370550] 00:00:00.000291 main     OS Release: 4.5.0-0.rc7.git0.2.fc24.x86_64
[ 1907.370849] 00:00:00.000575 main     OS Version: #1 SMP Tue Mar 8 02:20:08 UTC 2016
[ 1907.371947] 00:00:00.000708 main     Executable: /usr/bin/VBoxService
               00:00:00.000711 main     Process ID: 3002
               00:00:00.001639 main     Package type: LINUX_64BITS_GENERIC (OSE)
[ 1907.374751] 00:00:00.004436 main     5.0.17_ r105877 started. Verbose level = 0

Typical error when building with a kernel-debug

ERROR: modpost: GPL-incompatible module nvidia-drm.ko uses GPL-only symbol 'mutex_lock_nested'

Looks like the kernel is trying harder to hide GPL-only symbols.

Is this a known problem? Is there a solution

yes, GPL-only symbol error only happens only when you use a debug kernel

debug kernel isn't compatible with nvidia or VirtualBox drivers, please see https://rpmfusion.org/Howto/VirtualBox#I_had_install_kernel-debug-devel_but_I_need_kernel-devel

I had install kernel-debug-devel but I need kernel-devel

When we install only VirtualBox  dnf install VirtualBox  it require one kmod so it pulls akmod-VirtualBox (we, at this moment, don't have binary kmods) and also may pulls in kernel-debug-devel instead of kernel-devel (of the running kernel) [1]. We need the kernel-devel of kernel that is running on the system but we can't workaround this problem. So we need make sure that install proper kernel-devel (usually the kernel-devel).

So

   dnf install kernel-devel-$(uname -r)
   dnf remove kernel-debug-devel

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1228897

{i} UPDATE
it seems the "kernel-devel-matched" package which is available, at least, since Fedora 35 and Centos 9 fix this issue

mock -r fedora-35-x86_64-rpmfusion_free install kernel mock -r fedora-35-x86_64-rpmfusion_free install VirtualBox

installs the correct kernel-devel

Selinux and VirtualBox

ATM, we don't support running VirtualBox with selinux enabled, solution is disable selinux, if selinux prevents VirtualBox to run, last time that I checked it was working ...

Uninstall official virtual-guest-additions provide by Oracle and use virtualbox-guest-additions package provide by Fedora

navigate to /run/media/<my user name>/VBoxGAs_6.0.4 issue command './VBoxLinuxAdditions.run uninstall'

issue command 'sudo dnf remove virtualbox-linux-additions akmod-VirtualBox'

issue command 'sudo dnf install VirtualBox-linux-additions akmod-VirtualBox'

issue command 'sudo akmods-shutdown'

This command built kmods for 5.0.3, 5.0.4, 5.0.5, taking a couple of minutes.

shut down the Fedora 29 Virtual Machine. (Use GUI or issue command 'sudo shutdown -h now') (I could use the -r flag, but I generally prefer when shutting down to have the machine completely shut down for 15-30 seconds before restarting.)

start the Fedora 29 Virtual Machine.

At this point, the shared folders were visible!

Install virtual-guest-additions on Centos 9 (stream)

dnf install centos-release-kmods
dnf install virtualbox-guest-additions
systemctl enable vboxservice 

this next maybe need , keep in mind this still in a very early stage

systemctl start vboxservice 
systemctl restart vboxclient

How to use kmods in EL 9: https://lists.centos.org/pipermail/centos/2022-September/715699.html

Troubleshoot :

(Fixed https://gitlab.com/CentOS/kmods/src/kmod-vbox-guest-additions/-/issues/1 ) if you got messages like:  INFO depmod: `ERROR: fstatat(6, vboxsf.ko.xz): No such file or directory 

to fix just remove the broken symlink, for example:  rm /usr/lib/modules/5.14.0-109.el9.x86_64/weak-updates/fs/vboxsf/vboxsf.ko.xz 






















CategoryHowto

Howto/VirtualBox (last edited 2024-04-21 02:49:49 by Sérgio Basto)