BEINSTALL.SH(8)         FreeBSD System Manager's Manual        BEINSTALL.SH(8)

NAME

     beinstall.sh - install a boot environment using the current FreeBSD
     source tree

SYNOPSIS

     beinstall.sh [options ...]

DESCRIPTION

     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).

ENVIRONMENT

     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.

FILES

     src/tools/build/beinstall.sh
             Place where beinstall.sh lives in the src tree.

SEE ALSO

     build(7), development(7), bectl(8), etcupdate(8), pkg(8)

HISTORY

     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.

AUTHORS

     The beinstall.sh script was implemented by Will Andrews
     <will@FreeBSD.org>.  This manual page was written by
     Mateusz Piotrowski <0mp@FreeBSD.org>.

FreeBSD 15.1-STABLE-HBSD       October 30, 2020                BEINSTALL.SH(8)