I'm afraid we run too far from the initial topic.
Maybe it is reasonable to back to the initial question?
Just what to know - what is the best approach to revert the FreeBSD version back?
Let's go with minor reverts only - e.g. 12.2 -> 12.1.
What I did (from the very beginning):
Initially, I had FreeBSD 12.1 with the latest updates (including ports, etc.).
1.
freebsd-update -r 12.2-RELEASE upgrade
2.
freebsd-update install
3.
reboot
4.
freebsd-update install
5.
portmaster -Faf
6.
pkg delete -afy
7.
rm -rf /usr/local/lib/compat/pkg
8.
portsnap fetch update
9.
cd /usr/ports/{PORTS I NEED} && make install clean
10.
freebsd-update install
11.
reboot
12.
freebsd-update fetch
13.
freebsd-update install
14.
reboot
15.
zpool upgrade zroot
16.
gpart bootcode -p /boot/boot1.efifat -i 1 nvd0 && gpart bootcode -p /boot/boot1.efifat -i 1 nvd1
(I have zraid1 and UEFI boot)
Here I tried to run my bhyve VMs and notice performance degradation...
Looked for the proper way to rollback the upgrade - no luck (
Tested rollback on a virtual machine: installed 12.1, updated it to 12.2 the same way, and then rollback using
freebsd-update -r 12.1-RELEASE upgrade
- it went well. But on physical machine something went wrong and after reboot I saw the error:
Code:
"ld-elf.so.1: /lib/libc.so.7: Unsupported relocation type 37 in non-PTL relocation
Enter full pathname of shell or return for /bin/sh"
And that was it.
So I tried to boot from the Live-CD 12.2, mounted my zpool, replaced kernel/* with kernel.old/*, replaced /lib/* and /libexec/* with files from that CD and tried to boot once again - it worked.
To complete re-rolling back to 12.2 I run
freebsd-update fetch -f
and then install again.
After that, I run
freebsd-update IDS
to check the system integrity and it shows only config files, so I ended up with that.
If anyone knows or has an idea what I missed with that rollback - please, tell me.
Or any other solution for the error I got after the downgrade.
Thanks