How to Install VirtualBox on Fedora 36 / 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 36 / Fedora 35.

Add VirtualBox Repository

First, switch to the root user.

sudo su -

Then, install kernel headers and DKMS packages

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

Next, import Oracle public key to the system.

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

Then, add the VirtualBox repository to the system with the below command.

dnf config-manager --add-repo https://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

Install VirtualBox on Fedora 36

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 loading 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).

dnf install -y openssl 

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 /root/module-signing/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
VirtualBox running on Fedora

Conclusion

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

You might also like