How to Install VirtualBox on Fedora 35

0

VirtualBox is a widely known open-source virtualization software that lets you run multiple guest operating systems (virtual machines) on a single host machine.

It supports the guest virtual machines running Windows, Linux, BSD, OS/2, Solaris, Haiku, and OSx86 operating systems.

Here, we will see how to install VirtualBox on Fedora 35.

Add VirtualBox Repository

Switch to the root user.

sudo su -

Install kernel-headers and DKMS.

dnf install -y kernel-devel-$(uname -r) kernel-headers

Download Oracle public key.

rpm --import  https://www.virtualbox.org/download/oracle_vbox.asc

Add the following content to it.

cat << EOF > /etc/yum.repos.d/virtualbox.repo
[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/34/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
EOF

Install VirtualBox on Fedora 35

BIOS System

First, install VirtualBox using the dnf command.

dnf install -y VirtualBox-6.1

Then, add your user account to the vboxuser group.

usermod -aG vboxusers raj

EFI System

First, install VirtualBox using the dnf command.

dnf install -y VirtualBox-6.1

Then, add your user account to the vboxuser group.

usermod -aG vboxusers raj

On EFI secure boot systems, you need to sign VirtualBox modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. So, to sign the modules, you will need to have a machine owner key that is trusted by EFI firmware.

Follow the below steps to sign all the VirtualBox modules.

First, generate the MOK (Machine Owner Key).

mkdir /root/module-signing

cd /root/module-signing

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=MSI/"

chmod 600 MOK.priv

Then, import the generated key to the system. This command will prompt you to set the password, which you will later while enrolling the key.

mokutil --import /root/module-signing/MOK.der

Reboot the system and then press any key to start the MOK management utility

1. Choose Enroll MOK

2. Choose View Key 0 to check the Machine Owner Key. If the key is OK, press enter and then select Continue

3. Choose Yes to enroll the key(s) and then enter the password you supplied during the import

4. Finally, choose Reboot to reboot the system

Create a script called /root/module-signing/sign-vbox-modules to sign all the VirtualBox modules using the generated MOK key.

#!/bin/bash

for modfile in $(dirname $(modinfo -n vboxdrv))/*.ko; do
  echo "Signing $modfile"
  /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 \
                                /root/module-signing/MOK.priv \
                                /root/module-signing/MOK.der "$modfile"
done

Then, change the ownership of the script and run it. You can run this script whenever you update the system.

chmod 700 sign-vbox-modules

/root/module-signing/sign-vbox-modules

Finally, start the VirtualBox Linux kernel module service.

systemctl start vboxdrv

Launch VirtualBox

After the installation, you can launch VirtualBox by going to Activities >> Search for VirtualBox or running the virtualbox command in the terminal.

VirtualBox running on Fedora 35
VirtualBox running on Fedora 35

Conclusion

That’s All. I hope you have learned how to install VirtualBox on Fedora 35.

You might also like