1.\" 2.\" SPDX-License-Identifier: BSD-2-Clause 3.\" 4.\" Copyright (c) 2018 Mateusz Piotrowski <0mp@FreeBSD.org> 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.Dd October 30, 2020 27.Dt BEINSTALL.SH 8 28.Os 29.Sh NAME 30.Nm beinstall.sh 31.Nd "install a boot environment using the current FreeBSD source tree" 32.Sh SYNOPSIS 33.Nm 34.Op Ar options Ar ... 35.Sh DESCRIPTION 36.Nm 37installs a boot environment using the current 38.Fx 39source tree. 40.Nm 41also automatically performs 42.Pa /etc 43updates 44(using either 45.Xr etcupdate 8 46or 47.Xr mergemaster 8 ) 48and 49package updates using 50.Xr pkg-upgrade 8 51automatically in the new boot environment sandbox. 52.Pp 53Upon successful completion, the system will be ready to boot into the new boot 54environment. 55Upon failure, the target boot environment will be destroyed. 56In all cases, the running system is left untouched 57and a reboot into a partially updated system 58(due to install or hardware failure) cannot happen. 59Additionally, the full installation process requires 60only one reboot as it is performed 61in a new boot environment. 62.Pp 63.Nm 64requires a fully built world and kernel. 65It also requires 66.Xr pkg 8 , 67which is not present in the base system and has to be installed manually. 68.Pp 69The 70.Ar options 71provided to 72.Nm 73are world and kernel flags like 74.Ev KERNCONF 75as described in 76.Xr build 7 . 77.Sh ENVIRONMENT 78User modifiable variables. 79Set these in the environment if desired: 80.Bl -tag -width indent 81.It Ev BE_UTILITY Pq default: Dq Li "bectl" 82Utility to manage ZFS boot environments. 83This can be either 84.Xr bectl 8 85from the base system or 86.Xr beadm 1 87from ports (sysutils/beadm). 88.It Ev CONFIG_UPDATER Pq default: Dq Li "etcupdate" 89Config updater: 90.Xr etcupdate 8 91and 92.Xr mergemaster 8 93are supported. 94Set to an empty string to skip. 95.It Ev ETCUPDATE_FLAGS Pq default: Dq Li "-F" 96Flags for 97.Xr etcupdate 8 98if used. 99.It Ev MERGEMASTER_FLAGS Pq default: Dq Li "-iFU" 100Flags for 101.Xr mergemaster 8 102if used. 103.It Ev NO_PKG_UPGRADE Pq default: Dq Li "" 104If not empty, 105.Dq Li pkg upgrade 106will be skipped. 107.El 108.Sh FILES 109.Bl -tag -width indent 110.It Sy src/ Ns Pa tools/build/beinstall.sh 111Place where 112.Nm 113lives in the src tree. 114.El 115.Sh SEE ALSO 116.Xr build 7 , 117.Xr development 7 , 118.Xr bectl 8 , 119.Xr etcupdate 8 , 120.Xr mergemaster 8 , 121.Xr pkg 8 122.Sh HISTORY 123.Nm 124is inspired by and similar in function to 125Solaris/illumos-style upgrades. 126.Pp 127The 128.Nm 129manual page first appeared in 130.Fx 12.0 . 131.Sh AUTHORS 132The 133.Nm 134script was implemented by 135.An Will Andrews Aq Mt will@FreeBSD.org . 136This manual page was written by 137.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org . 138