The purpose of this project is to build a convenient framework for managing ZFS
boot environments in FreeBSD. Currently, boot environments are managed
manually, or with scripts such as
beadm. The approach that this project
will take is to first create a boot environment library to offer simplified
boot environment interaction to userspace applications (for example, TrueOS'
SysAdm perhaps), and then write an application that provides users with a
command that retains all of the features of
beadm, with added
functionality. Among the new features are: the ability to recursively create
boot environments containing child datasets, the ability to activate an
environment for the next boot only, and the ability to attach/detach a boot
environment to a jail.