New ๐—ญ๐—™๐—ฆ ๐—•๐—ผ๐—ผ๐˜ ๐—˜๐—ป๐˜ƒ๐—ถ๐—ฟ๐—ผ๐—ป๐—บ๐—ฒ๐—ป๐˜๐˜€ ๐—˜๐˜…๐—ฝ๐—น๐—ฎ๐—ถ๐—ป๐—ฒ๐—ฑ [ZFS Boot Environments Explained] article on vermaden.wordpress.com blog.

https://vermaden.wordpress.com/2025/11/25/zfs-boot-environments-explained/

#verblog #beadm #bectl #dataset #desktop #freebsd #laptop #pool #server #zfs

@vermaden I very much enjoyed this. Itโ€™s there an up-to-date resource covering boot environments at boot time? With 15โ€™s release, itโ€™s going to be in demand. Also for would-be coverts, itโ€™s a great thing to show off. I know you had a great post on this, but it seems out of date now (?).

I got two environments working, but in still not sure I did it right / grokked the algorithm.

#bsd

@sgharms

Thanks.

> Itโ€™s there an up-to-date resource covering boot environments at boot time?

I am not sure what you need here - can You try to describe it in different words/sentences?

@vermaden I am running 14 โ€“ current. I want to try out 15.

What do I need in order to have a boot environment for each of those kernels and userlands so that I can try the new thing out โ€ฆ and revert if things get bad

@sgharms

You may of course went a little more 'Solaris' way with first creating new ZFS BE and then making there an upgrade like in these:

https://vermaden.wordpress.com/2021/10/19/other-freebsd-version-in-zfs-boot-environment/

https://vermaden.wordpress.com/2021/02/23/upgrade-freebsd-with-zfs-boot-environments/

... and if you are creating new PKGBASE based ZFS BE - then new bsdinstall(8) can be helpful here:

```
root@pkgbase:~ # export BSDINSTALL_CHROOT=/jail/NEW

root@pkgbase:~ # env TERM=xterm bsdinstall pkgbase --jail
```

I did not yet used that for new ZFS BE so check twice if you also installed the FreeBSD kernel and other needed parts with pkg(8).

There is also a source build to PKGBASE road documented on the https://wiki.freebsd.org/pkgbase FreeBSD Wiki ... but I did not tested that one also.

@vermaden typical solutions involve mounting zfs datasets and chroot and there doesnโ€™t seem to be a single blessed process. Frankly, Iโ€™m surprised a most-preferred process isnโ€™t documented in the handbook.

@sgharms

From what I have checked they are documented.

The binary freebsd-update(8) way.

The build from source way.

The PKGBASE way.

Here:

https://freebsd.org/handbook/cutting-edge/

Chapter 26. Updating and Upgrading FreeBSD

Information about how to keep a FreeBSD system up-to-date with freebsd-update or Git, how to rebuild and reinstall the entire base system, etc

FreeBSD Documentation Portal