Freebsd 15-1 upgrade total fail on Dell xps 15

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


root dotfiles


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.
 
The error was to do with kdb

im using nvidia with wayland and dwl

I should have mentioned that

Side note here is how to convert an org file to bbcode for the forum_draft

Code:
pandoc -f org -t bbcode freebsd-15-1-upgrade.org -o forum_draft.txt
 
Yes, on my Dell XPS 8700, I ran into Nvidia issues. See my post at https://forums.freebsd.org/threads/good-news-today.102946/post-763983.

In my case, (Nvidia GT1030--I don't think it's the original card) was the problem. I fixed it by restarting, booting, then updating ports then installing via port the nvidia-drm-kmod and nvidia-drm-66-kmod. I don't know if I had to use ports, or if, once the upgrade was complete, if it would have worked with packages, but the updating ports and installing the kmods from ports is almost a habit.

This was with X11. I haven't tried Wayland with it yet, though I'm assuming it'd work. Sigh, now it's annoying me. I'll have to try with wayland and report back in a few minutes.

EDIT: Ok, yes, Wayland is fine, I used dwl as that's your WM of choice. My problem was with Nvidia rather than an X11 or Wayland issue.
 
Back
Top