My main culprit with FreeBSD is that upgrading the kernel is not a simple dnf update command. But its still easier than upgrading RHEL from 9 to 10.
It isn't a complete answer, but the position as I understand it (haven't had to care for a long time) is that a LOT of linux binaries can work.
-ish. There's a compatibility layer that works at the libc level but not the syscall level. In practice anything open source that works in emulation almost certainly has a FreeBSD version and anything proprietary that actually needs Linux will work better in a VM.
To run a Linux distribution in jail you need 2 things:
- Enable "Linux Binary Compatibility"
- copy your Linux distribution base filesystem in the chroot or just pick on that is packaged in FreeBSD and do 'pkg install' (Rocky and Ubuntu if I remember correctly)
But you might not even need to "Run a Linux distribution". Just enabling "Linux Binary Compatibility" and executing the binary often works fine if it doesn't depends on a bunch of libraries.
It is really that simple.