FreeBSD 14.3 + virtualbox-ose 7.1 kernel module anomaly

Hi! What worked for me after leaving both repositories on "latest" was running a specific upgrade for FreeBSD-kmods.
sudo pkg -6 upgrade -r FreeBSD-kmods
Even though I gave the kmods repo higher priority (priority 50), it always chooses the package available for 14.2 in the FreeBSD repo.

/etc/pkg/FreeBSD.conf
Code:
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  # url: "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly",
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
FreeBSD-kmods: {
  # url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}",
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
  priority: 50
}

result:
Code:
#> sudo pkg info |grep -i virtualbox
virtualbox-ose-71-7.1.10_2     General-purpose full virtualizer for x86 hardware
virtualbox-ose-kmod-71-7.1.10.1403000 VirtualBox kernel module for FreeBSD

Regards
 
Hi! What worked for me after leaving both repositories on "latest" was running a specific upgrade for FreeBSD-kmods.
sudo pkg -6 upgrade -r FreeBSD-kmods
Even though I gave the kmods repo higher priority (priority 50), it always chooses the package available for 14.2 in the FreeBSD repo.

/etc/pkg/FreeBSD.conf
Code:
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  # url: "pkg+https://pkg.FreeBSD.org/${ABI}/quarterly",
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
FreeBSD-kmods: {
  # url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_quarterly_${VERSION_MINOR}",
  url: "pkg+https://pkg.FreeBSD.org/${ABI}/kmods_latest_${VERSION_MINOR}",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
  priority: 50
}

result:
Code:
#> sudo pkg info |grep -i virtualbox
virtualbox-ose-71-7.1.10_2     General-purpose full virtualizer for x86 hardware
virtualbox-ose-kmod-71-7.1.10.1403000 VirtualBox kernel module for FreeBSD

Regards
Does your VM actually boot after this upgrade?
 
Does your VM actually boot after this upgrade?
Yes, I have a Win11 and Alpine Linux 3.22 running.On another 14.3, I have a multi-node minikube. They all work fine.

Code:
# > uname -a
FreeBSD obelix 14.3-RELEASE FreeBSD 14.3-RELEASE releng/14.3-n271432-8c9ce319fef7 GENERIC amd64

# > VBoxManage showvminfo AlpineLinux3 |grep "State"
State:                       running (since 2025-07-13T22:53:57.753000000)

There are no modules in the FreeBSD-kmods repo for 14.2, so there's no harm in upgrading the available modules to 14.3, and they will install correctly if the module matches the package version.
 
Man, pkg is just too messy... this is why I stick to ports and compile stuff from ground up. 😩
I agree pkg can be messy at times, but in my realm the pkg manager has a much higher convenience score than routinely compiling everything from ports.
I do however routinely compile virtualbox-ose-kmod from ports, since this version mismatch is an enduring issue. Happens regularly, so get used to it !
 
Indeed, but virtualbox works (and has done for previous releases) with earlier versions <as long as its built against the running kernel>

That is definitely NOT universally true!

When I had:
virtualbox-ose-6.1.50_16
virtualbox-ose-kmod-6.1.50.1403000_1 (built from ports against the running 14.3 kernel)
"kldload vboxdrv" was failing with this in "dmesg":
KLD vboxdrv.ko: depends on kernel - not available or version mismatch
even after rebooting.

When I uninstalled those and:
# pkg install virtualbox-ose-71 virtualbox-ose-kmod-71
it started working.

So previous virtualbox-ose-kmod releases do not always work on the latest kernels, even when built from ports against the running kernel!
 
When I had:
virtualbox-ose-6.1.50_16
virtualbox-ose-kmod-6.1.50.1403000_1 (built from ports against the running 14.3 kernel)
To me, this looks like you had the main stuff installed from pkg, and the kmod part compiled. The whole thing needs to match. Yet another instance of when it makes a difference to go all-ports or all-pkg.

And yeah, having up-to-date stuff also makes a difference.
 
That is definitely NOT universally true!
The situation was where a newer package version (example: 6.x.32) running with an earlier kernel module (6.x.30), both packaged versions not compiled from ports, both built against the running kernel version

Last few days the opposite has occurred where the kernel module virtualbox-ose-kmod-71-7.1.12.1403000
got ahead of the package version virtualbox-ose-71-7.1.10.1403000 and it ran VM's no problem.. 🤷‍♂️
 
The situation was where a newer package version (example: 6.x.32) running with an earlier kernel module (6.x.30), both packaged versions not compiled from ports, both built against the running kernel version

Last few days the opposite has occurred where the kernel module virtualbox-ose-kmod-71-7.1.12.1403000
got ahead of the package version virtualbox-ose-71-7.1.10.1403000 and it ran VM's no problem.. 🤷‍♂️
This is now fixed. Vbox 7.1.12 is now available.
 
Back
Top