I tried upgrading to Freebsd 15-1 on my Dell XPS 15 but it was a total fail 
I seem to remember the last time i had this issue was because the nvidia driver were still built against the previous version
could that be the issue or am i just missing something else
Thank heavens for bectl i booted back into the previous env
Im using the new pkg set up so dont use freebsd-update
Heres my notes which i cobbled together from Vermadens page
resource links are included
github.com
root dotfiles
github.com
The really weird thing is i changed my kld list from
to
but later on when i was finishing the upgrade i noticed the original kld list was still there
and not the short version with just linux and linux64
here are the steps, im probably having an off day
can anyone bang some sense into me and see what im missing
freebsd 15.1 upgrade
resources
https://www.freebsd.org/releases/15.1R/upgrading/
https://forums.freebsd.org/threads/...installation-instructions.102973/#post-763920
https://www.reddit.com/r/freebsd/comments/1u6xu2i/freebsd_151release_now_available/
https://www.reddit.com/r/freebsd/comments/1u6nrz5/beware_of_upgrades_to_151/
https://vermaden.wordpress.com/tag/pkg/
https://lists.freebsd.org/archives/freebsd-stable/2026-May/004103.html
https://forums.freebsd.org/threads/upgrading-to-a-new-release-with-pkgbase.102878/#post-762650
https://vermaden.wordpress.com/2025/10/20/brave-new-pkgbase-world/
upgrade
1) bectl boot env
Create the 15-1 boot env
Mount the boot env
2) kld list
I would suggest disabling the DRM driver during the upgrade. That way it won't interfere or cause problems during the upgrade. Once you have the base OS completely upgraded you can focus on upgrading packages, including any from the kmods repositories.
This is what I had to do though I actually uninstalled it and reinstalled after going through the rest of the upgrade process cause 15.1 would only start with a page fault.
So comment out the kldlist
and just use a temporary kldlist during the upgrade
3) First, update pkg(8) itself to ensure you have the latest version:
4) Second, upgrade the base system
Create a temporary repository configuration that points exactly to the 15.1-RC1 package repository:
Create the upgrade.conf file
5) Then upgrade the base system:
6) after upgrade
After the upgrade, review any messages printed by pkg(8). Some base packages may require additional configuration steps (e.g., running 'service setup'). Follow those instructions as needed.
Third, update any third-party kernel modules (kmods) that you may have installed from packages (e.g. drm-kmod, acpicall). Use the same temporary repository configuration:
7) uefi bootloader
Identify the EFI System Partition (ESP) where the boot loader resides by executing the following command:
8) Mounting the ESP
Backup the loader.efi
If the ESP is not already mounted at /boot/efi, mount the partition listed in the efibootmgr output:
9) Install the Boot Loader
Note that some installations may not have freebsd/loader.efi.
10) check for configuration file updates that may have been installed as '.pkgnew' files:
If such files exist, manually compare them with the originals (e.g. 'diff /etc/rc.conf /etc/rc.conf.pkgnew') and merge any necessary changes.
Since we arent using the built in version of unbound and using the pkg version
We can back up the directory and then delete it
Remove the unbound.pkgnew
11) activate the new boot env
Finally, reboot to load the new kernel and userland:
12) upgrade kmods
Force an absolute repository database download refresh
Upgrade your kmods using the global flag instead of targeting a locked repo string name
Ignore is version
upgrade pkg
Open /etc/rc.conf right there in the text prompt, drop the safe line, and uncomment your original massive graphic kldlist.
remove the temporary kld list
uncomment the original kld list
13) How to Determine Your Base System Type
Run the following command:
if the output shows a package name starting with 'FreeBSD-' (for example 'FreeBSD-runtime-15.0'), then your base system is managed by pkg (pkgbase). If the output says '/usr/bin/uname was not installed by a package', then your system uses the traditional layout (freebsd-update(8) is the appropriate upgrade method).
To check whether you have any third-party kernel modules (kmods) installed from packages, run the following command:
Modules located in '/boot/kernel/' (such as 'zfs.ko') are part of the base system packages, and belong to a 'FreeBSD-kernel-*' package. Modules located in '/boot/modules/' (such as 'sysctlinfo.k') are third-party kmods installed from the ports/pkg repository. If the command shows any packages with names that do not start with 'FreeBSD-', those are third-party kmods. If no such packages appear, you have no third-party kmods installed.
I assume that when FreeBSD 15.1-RELEASE will be released -- even more detailed instructions could be available in the Release Notes document.
I seem to remember the last time i had this issue was because the nvidia driver were still built against the previous version
could that be the issue or am i just missing something else
Thank heavens for bectl i booted back into the previous env
Im using the new pkg set up so dont use freebsd-update
Heres my notes which i cobbled together from Vermadens page
resource links are included
cerberus/freebsd/freebsd-15-1-upgrade.org at master · NapoleonWils0n/cerberus
cerberus code library. Contribute to NapoleonWils0n/cerberus development by creating an account on GitHub.
root dotfiles
GitHub - NapoleonWils0n/freebsd-root-xps: freebsd root dotfiles for dell xps 15 2019
freebsd root dotfiles for dell xps 15 2019. Contribute to NapoleonWils0n/freebsd-root-xps development by creating an account on GitHub.
The really weird thing is i changed my kld list from
Code:
#kld_list="nvidia-modeset nvidia-drm nvidia_gsp_tu10x_fw linux linux64 i915kms ext2fs mac_priority fusefs vmm nmdm"
to
Code:
kld_list="linux linux64"
but later on when i was finishing the upgrade i noticed the original kld list was still there
and not the short version with just linux and linux64
here are the steps, im probably having an off day
can anyone bang some sense into me and see what im missing
freebsd 15.1 upgrade
resources
https://www.freebsd.org/releases/15.1R/upgrading/
https://forums.freebsd.org/threads/...installation-instructions.102973/#post-763920
https://www.reddit.com/r/freebsd/comments/1u6xu2i/freebsd_151release_now_available/
https://www.reddit.com/r/freebsd/comments/1u6nrz5/beware_of_upgrades_to_151/
https://vermaden.wordpress.com/tag/pkg/
https://lists.freebsd.org/archives/freebsd-stable/2026-May/004103.html
https://forums.freebsd.org/threads/upgrading-to-a-new-release-with-pkgbase.102878/#post-762650
https://vermaden.wordpress.com/2025/10/20/brave-new-pkgbase-world/
upgrade
1) bectl boot env
Create the 15-1 boot env
Bash:
doas bectl create 15-1
Mount the boot env
Bash:
doas bectl mount 15-1 /tmp/upgrade-15.1
2) kld list
I would suggest disabling the DRM driver during the upgrade. That way it won't interfere or cause problems during the upgrade. Once you have the base OS completely upgraded you can focus on upgrading packages, including any from the kmods repositories.
This is what I had to do though I actually uninstalled it and reinstalled after going through the rest of the upgrade process cause 15.1 would only start with a page fault.
So comment out the kldlist
Code:
#kld_list="nvidia-modeset nvidia-drm nvidia_gsp_tu10x_fw linux linux64 i915kms ext2fs mac_priority fusefs vmm nmdm"
and just use a temporary kldlist during the upgrade
Bash:
kld_list="linux linux64"
3) First, update pkg(8) itself to ensure you have the latest version:
Bash:
doas pkg upgrade -yr FreeBSD-ports pkg
4) Second, upgrade the base system
Create a temporary repository configuration that points exactly to the 15.1-RC1 package repository:
Create the upgrade.conf file
Bash:
echo 'FreeBSD-base: {
url: "pkg+https://pkg.FreeBSD.org/${ABI}/base_release_1"
}' | doas tee /tmp/upgrade-15.1/upgrade.conf
5) Then upgrade the base system:
Bash:
doas pkg -r /tmp/upgrade-15.1 \
-o REPOS_DIR=/etc/pkg,/usr/local/etc/pkg/repos,/tmp/upgrade-15.1 \
-o IGNORE_OSVERSION=yes upgrade -r FreeBSD-base
6) after upgrade
After the upgrade, review any messages printed by pkg(8). Some base packages may require additional configuration steps (e.g., running 'service setup'). Follow those instructions as needed.
Third, update any third-party kernel modules (kmods) that you may have installed from packages (e.g. drm-kmod, acpicall). Use the same temporary repository configuration:
Bash:
doas pkg -r /tmp/upgrade-15.1 \
-o REPOS_DIR=/etc/pkg,/usr/local/etc/pkg/repos,/tmp/upgrade-15.1 \
upgrade -r FreeBSD-ports-kmods
7) uefi bootloader
Identify the EFI System Partition (ESP) where the boot loader resides by executing the following command:
Bash:
doas efibootmgr -v
Code:
[i] Yes Master ? doas efibootmgr -v
Boot to FW : false
BootCurrent: 0001
Timeout : 0 seconds
BootOrder : 0001
+Boot0001* UEFI: Micron 2300 NVMe 1024GB, Partition 1 HD(1,GPT,01b224cb-3a84-11f1-93f9-0050b610e975,0x28,0x82000)/File(\EFI\Boot\BootX64.efi)
gpt/efiboot0:/EFI/Boot/BootX64.efi /boot/efi//EFI/Boot/BootX64.efi
VenHw(2d6447ef-3bc9-41a0-ac19-4d51d01b4ce6,4d006900630072006f006e002000320033003000300020004e0056004d00650020003100300032003400470042000000)
Unreferenced Variables:
Boot0006 FreeBSD HD(1,GPT,56ac6e30-904d-11ee-88b9-0050b610e975,0x28,0x82000)/File(\efi\freebsd\loader.efi)
Boot0000* ubuntu HD(1,GPT,b3006ff6-1fa2-4aad-9ec6-8b7437b4545f,0x800,0x100000)/File(\EFI\ubuntu\shimx64.efi)
[djwilcox@pollux ~/desktop]
8) Mounting the ESP
Backup the loader.efi
Bash:
cp -r /boot/efi ~/desktop
If the ESP is not already mounted at /boot/efi, mount the partition listed in the efibootmgr output:
Bash:
mount_msdosfs /dev/nda0p1 /boot/efi
9) Install the Boot Loader
Note that some installations may not have freebsd/loader.efi.
Bash:
doas cp /boot/loader.efi /boot/efi/efi/boot/bootx64.efi
doas cp /boot/loader.efi /boot/efi/efi/freebsd/loader.efi
10) check for configuration file updates that may have been installed as '.pkgnew' files:
Bash:
doas find /etc /usr/local/etc -name '*.pkgnew' -ls
If such files exist, manually compare them with the originals (e.g. 'diff /etc/rc.conf /etc/rc.conf.pkgnew') and merge any necessary changes.
Code:
[i] Yes Master ? doas find /etc /usr/local/etc -name '*.pkgnew' -ls
525415 1 lrwxr-xr-x 1 root wheel 14 8 Jun 19:53 /etc/unbound.pkgnew -> ../var/unbound
Since we arent using the built in version of unbound and using the pkg version
We can back up the directory and then delete it
Bash:
cp -r /etc/unbound.pkgnew ~/desktop
Remove the unbound.pkgnew
Bash:
doas rm -rf /etc/unbound.pkgnew
11) activate the new boot env
Bash:
doas bectl umount 15-1
doas bectl activate 15-1
Finally, reboot to load the new kernel and userland:
Bash:
doas shutdown -r now
12) upgrade kmods
Bash:
doas pkg upgrade -r FreeBSD-ports-kmods
Force an absolute repository database download refresh
Bash:
doas pkg update -f
Upgrade your kmods using the global flag instead of targeting a locked repo string name
Bash:
doas pkg upgrade -y
Ignore is version
Bash:
doas pkg -o IGNORE_OSVERSION=yes update -f
upgrade pkg
Bash:
doas pkg -o IGNORE_OSVERSION=yes upgrade -y pkg
Open /etc/rc.conf right there in the text prompt, drop the safe line, and uncomment your original massive graphic kldlist.
remove the temporary kld list
Bash:
kld_list="linux linux64"
uncomment the original kld list
Code:
kld_list="nvidia-modeset nvidia-drm nvidia_gsp_tu10x_fw linux linux64 i915kms ext2fs mac_priority fusefs vmm nmdm"
13) How to Determine Your Base System Type
Run the following command:
Bash:
doas pkg which /usr/bin/uname
if the output shows a package name starting with 'FreeBSD-' (for example 'FreeBSD-runtime-15.0'), then your base system is managed by pkg (pkgbase). If the output says '/usr/bin/uname was not installed by a package', then your system uses the traditional layout (freebsd-update(8) is the appropriate upgrade method).
To check whether you have any third-party kernel modules (kmods) installed from packages, run the following command:
Bash:
doas pkg which $(kldstat -v | awk -F '[()]' '/\.ko/ {print $2}')
Modules located in '/boot/kernel/' (such as 'zfs.ko') are part of the base system packages, and belong to a 'FreeBSD-kernel-*' package. Modules located in '/boot/modules/' (such as 'sysctlinfo.k') are third-party kmods installed from the ports/pkg repository. If the command shows any packages with names that do not start with 'FreeBSD-', those are third-party kmods. If no such packages appear, you have no third-party kmods installed.
I assume that when FreeBSD 15.1-RELEASE will be released -- even more detailed instructions could be available in the Release Notes document.