Kernel driver not installed (rc=-1908)

Hello Team,

I have installed Oracle VM VirtualBox on Rocky 9.

I intend to run a test server on the VM.

However, i run into the error below.

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is probably not loaded.You may not have kernel driver installed for kernel that is runnig, if so you may do as root: dnf install akmod-VirtualBox kernel-devel-$(uname -r)If you installed VirtualBox packages and don't want reboot the system, you may need load the kernel driver, doing as root: akmods; systemctl restart vboxdrv.service

If your system has EFI Secure Boot enabled you may also need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp) before you can load them. Please see your Linux system's documentation for more information.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. 

I confirm if the driver in installed by the command below:

$ sudo dnf install akmod-VirtualBox kernel-devel-$(uname -r)
Last metadata expiration check: 0:24:31 ago on Mon 08 Jan 2024 08:56:36 AM EAT.
Package akmod-VirtualBox-7.0.12-1.el9.1.x86_64 is already installed.
Package kernel-devel-5.14.0-362.13.1.el9_3.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Checking if kmods exists:

$ sudo akmods 
Checking kmods exist for 5.14.0-362.13.1.el9_3.x86_64 [  OK  ]

Checking the status:

$ sudo systemctl restart vboxdrv.service
Job for vboxdrv.service failed because the control process exited with error code.
See "systemctl status vboxdrv.service" and "journalctl -xeu vboxdrv.service" for details.

$ systemctl status vboxdrv.service
× vboxdrv.service - Linux kernel module init script
     Loaded: loaded (/usr/lib/systemd/system/vboxdrv.service; enabled; preset>
     Active: failed (Result: exit-code) since Mon 2024-01-08 09:23:40 EAT; 1m>
    Process: 6498 ExecStart=/sbin/modprobe vboxdrv (code=exited, status=1/FAI>
   Main PID: 6498 (code=exited, status=1/FAILURE)
        CPU: 23ms

Jan 08 09:23:40 rocky-linux-9 systemd[1]: Starting Linux kernel module init s>
Jan 08 09:23:40 rocky-linux-9 modprobe[6498]: modprobe: ERROR: could not inse>
Jan 08 09:23:40 rocky-linux-9 systemd[1]: vboxdrv.service: Main process exite>
Jan 08 09:23:40 rocky-linux-9 systemd[1]: vboxdrv.service: Failed with result>
Jan 08 09:23:40 rocky-linux-9 systemd[1]: Failed to start Linux kernel module>
lines 1-12/12 (END)...skipping...

How do i resolve this error. What am i missing?

Do you have gcc and make installed? Oh, and kernel-headers also. If they are installed then I would wonder if you have secure-boot enabled in the firmware and if so you need to disable it.

Thank for your reply. I checked a few things.

kernel-headers am running on:

$ sudo dnf list installed | grep kernel-headers
kernel-headers.x86_64                            5.14.0-362.13.1.el9_3               @appstream      

Then confirmed if Development Tools i.e gcc and make are installed.

$ dnf groupinfo "Development Tools" | grep gcc
   gcc
   gcc-c++

And

$ dnf groupinfo "Development Tools" | grep make
   automake
   make
   cmake

Please show me how to check if secure-boot is enabled on Rocky 9.

@jbkt23

I read that “As of version 8.5, Rocky Linux supports secure boot and is completely trusted using our own Rocky Enterprise Software Foundation signed shims.”

This thus confirms that secure-boot is by default on Rocky 9.

Will it be advisable to disable secure-boot on my system ? What are the risks involved?

Secure Boot requires that the boot loader, kernel, and kernel modules have valid signatures.
Signature is ok, if UEFI (i.e motherboard) has certificate that validates the signature.
If a binary is not signed, then it is not loaded nor executed.

If signatures are not checked/required (Secure Boot is off), then machine can load anything,
like modified (trojan included) kernel / kernel module.


mokutil --sb

Thank you for the information. The output of the command shows that the secure-boot is enabled. @jbkt23 suggested i disable secure-boot.

$ mokutil --sb
SecureBoot enabled

Please show me how to disable secure-boot, though am not comfortable doing it.

That you have to do in the UEFI. (I.e. not from Linux.) It depends on motherboard how to get there, but your GRUB menu might have “UEFI Firmware Settings” entry after kernels too.

yeah, seen it. Let me see how it goes now.

The akmods package does create the “.der and .priv” certs and signs the modules upon creation. So all you need to do to retain secure-boot is to load the “.der” cert with mokutil. The certs are in /etc/pki/akmods.
Read “man mokutil” for how.

The dkms does generate similar certificate: /var/lib/dkms/mok.pub
(but recent builds – NVidia kernel modules from their CUDA repo “sources” – no longer seemed signed).

You can check with modinfo <path-to-module> .
It may be that dkms was not updated to sign compressed modules “.xz” suffix. There are recipes out there that do, but after I discovered the rpmfusion modules are already signed I never tested them.

Hello @Jil

required package kernel-devel gcc

you can run

sudo /sbin/vboxconfig

and it will report if there any missing package

it will also till you if you need to sign your kernal

required command to sign your kernal which will also given from the previous command

sudo mkdir -p /var/lib/shim-signed/mok
sudo openssl req -nodes -new -x509 -newkey rsa:2048 -outform DER -addext "extendedKeyUsage=codeSigning" -keyout /var/lib/shim-signed/mok/MOK.priv -out /var/lib/shim-signed/mok/MOK.der
sudo mokutil --import /var/lib/shim-signed/mok/MOK.der

reboot your system then enroll the key

it also recommended to add the user that you run the virtualbox from to vboxusers group as it does not detect usb if you did not

sudo usermod -a -G vboxusers <username>

Edit :

rerun sudo /sbin/vboxconfig again after install the dependacy or enroll the key and after virtualbox update or kernel update

hope that help and have a nice day :slight_smile:

1 Like

@JustSomeone

Thank you so much for your reply.

I will run the commands and see what happens.

Thanks.

you very welcome @Jil

sorry @Jil

forget to mention that you need to run

sudo /sbin/vboxconfig

again after enroll the key or after install the dependency

1 Like

Thank you so much.

The kernel driver not installed error is no more.

Much thanks :blush: :pray:

1 Like

you very welcome and congratulations

i also run sudo /sbin/vboxconfig after each virtualbox update or kernel update

i will edit my post in case face same issue in future
:slight_smile: