beinstall.sh —
install a boot environment using the
current FreeBSD source tree
beinstall.sh |
[options ...] |
beinstall.sh installs a boot environment
using the current FreeBSD source tree.
beinstall.sh also automatically performs
/etc updates (using
etcupdate(8)) and package updates using
pkg-upgrade(8) automatically in the new boot environment
sandbox.
Upon successful completion, the system will be ready to boot into
the new boot environment. Upon failure, the target boot environment will be
destroyed. In all cases, the running system is left untouched and a reboot
into a partially updated system (due to install or hardware failure) cannot
happen. Additionally, the full installation process requires only one reboot
as it is performed in a new boot environment.
beinstall.sh requires a fully built world
and kernel. It also requires
pkg(8), which is not present in the base system and has to be
installed manually.
The options provided to
beinstall.sh are world and kernel flags like
KERNCONF as described in
build(7).
User modifiable variables. Set these in the environment if
desired:
BE_UTILITY
(default: “bectl”)
- Utility to manage ZFS boot environments. This can be either
bectl(8) from the base system or
beadm(1) from ports (sysutils/beadm).
CONFIG_UPDATER
(default: “etcupdate”)
- Config updater:
etcupdate(8) is supported. Set to an empty string to
skip.
ETCUPDATE_FLAGS
(default: “-F”)
- Flags for
etcupdate(8) if used.
NO_PKG_UPGRADE
(default: “”)
- If not empty, “
pkg upgrade” will be
skipped.
- src/tools/build/beinstall.sh
- Place where
beinstall.sh lives in the src
tree.
beinstall.sh is inspired by and similar in
function to Solaris/illumos-style upgrades.
The beinstall.sh manual page first
appeared in FreeBSD 12.0.