Solved Upgrading to 14.1

Hello!

I've been trying to upgrade to FreeBSD 14.1 from 14.0-p6

I followed the handbook and did the following:

1. Made sure everything was updated and did; freebsd-update fetch & freebsd-update install (nothing to do becuase I was up to date).
2. freebsd-update -r 14.1-RELEASE upgrade
3. freebsd-update install
4. shutdown -r now
5. freebsd-update install
6. shutdown -r now (maybe overkill)
7. pkg-static upgrade -f
8. freebsd-update install (nothing to do)
9. shutdown -r now

freebsd-version -kru gave me;
14.1-RELEASE
14.0-RELEASE
14.1-RELEASE

Then I did freebsd-update fetch & freebsd-update install and the system reverted back to 14.0

So I did 1-9 process again and;

freebsd-version -kru gives me;
14.1-RELEASE
14.0-RELEASE
14.1-RELEASE

My question is really; is it (some new?) standard behaviour that freebsd-update fetch and freebsd-update install going back a version in this stage? Am I missing something here? Been at this before and never had any trouble.

Thanks in advance.
 
As it is a minor version upgrade, pkg-static upgrade -f isn't necessary and may do nothing if your packages were already up to date.

freebsd-version tells that you have the 14.1 kernel & userland installed, but you're running the old kernel. Normally, this means your machine needs to reboot. In your case, I think there is something broken in your installation. And no, freebsd-update fetch isn't supposed to make your system returns to the previous version.

Look at dmesg output. Maybe, you will find a hint that explains the current situation.
 
Hello again,

Thanks for the input. The "only" error code in dmesg is this:

Code:
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
KLD ioat.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/ioat.ko - unsupported file type
igb1: link state changed to UP
igb0: link state changed to UP
KLD if_wg.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/if_wg.ko - unsupported file type
KLD if_wg.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/if_wg.ko - unsupported file type
KLD if_wg.ko: depends on kernel - not available or version mismatch
linker_load_file: /boot/kernel/if_wg.ko - unsupported file type
 
Is this perhaps an encrypted setup? If I recall correctly it has a different /boot filesystem, that might cause some confusion.
 
The errors you get seems due to a mismatched version between the kernel and some kernel modules which are part of the base system. It's not good at all.

Looking at the first line of dmesg, you can see the kernel version on which you actually booted. You can also try to see what happened when you upgraded in /var/log/messages.
 
Well.

I've fixed the above error messages regarding the if_wg.ko and ioat.ko but the problem persist. It seems that the new kernel doesn't install...
 
Please explain what you have done. It may be useful for people in the same case.
I think you were on point with the errors regarding the kernel. The first error with if_wg.ko was that wireguard was enabled in /etc/rc.conf - I removed the lines:

Code:
wireguard_enable="yes"
wireguard_interfaces="wg0"
ioat.ko was removed from kernel modules manually (rm /boot/kernel/ioat.ko) - it isn't part of the default kernel.

Both the error codes was part of some older configurations that I don't use anymore.

After that it's a bit cloudy but I can try recall it from memory. I did the following:

Code:
rm -rf /var/db/freebsd-update/* (remove problems with eventually corrupted update files)

Updated with freebsd-update fetch/install.
 
Still had differences between the kernel versions and userland so I did:
 
wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/14.1-RELEASE/kernel.txz tar -xz -C / -f kernel.txz

I could't do a normal rollback (maybe because I deleted files in /var/db/freebsd-update/?) and I think my going back and forth with updating screwed something with freebsd-update so manually updating the kernel forced freebsd-update to be in sync again. This is the most "cloudy" bit in my memory but I think this solved the main problem with freebsd-update being out-of-sync. See below.

After that I did the updates as described in the handbook when updating the system (freebsd-update fetch & install and so on, see my first post)

Then when I rebooted I had major problems booting into the system so I tried (re)installing the boot code:

Code:
gpart bootcode -b  /boot/pmbr -p /boot/gptzfsboot -i 1 ada0

The above didn't work. It took some thinking but then I remembered that I was chain loading from an internal SD-card on my HP-server and the freebsd-update probably changed something with the boot process so I did some changes (not really relevant for this post) and rebooted and got:

Code:
freebsd-version -kru
14.1-RELEASE
14.1-RELEASE
14.1-RELEASE

Thanks for the help everyone.
 
Can't edit this thread. Maybe because I'm under 10 posts?!
Probably/likely, something like:
 
Back
Top