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 45.Xr etcupdate 8 ) 46and 47package updates using 48.Xr pkg-upgrade 8 49automatically in the new boot environment sandbox. 50.Pp 51Upon successful completion, the system will be ready to boot into the new boot 52environment. 53Upon failure, the target boot environment will be destroyed. 54In all cases, the running system is left untouched 55and a reboot into a partially updated system 56(due to install or hardware failure) cannot happen. 57Additionally, the full installation process requires 58only one reboot as it is performed 59in a new boot environment. 60.Pp 61.Nm 62requires a fully built world and kernel. 63It also requires 64.Xr pkg 8 , 65which is not present in the base system and has to be installed manually. 66.Pp 67The 68.Ar options 69provided to 70.Nm 71are world and kernel flags like 72.Ev KERNCONF 73as described in 74.Xr build 7 . 75.Sh ENVIRONMENT 76User modifiable variables. 77Set these in the environment if desired: 78.Bl -tag -width indent 79.It Ev BE_UTILITY Pq default: Dq Li "bectl" 80Utility to manage ZFS boot environments. 81This can be either 82.Xr bectl 8 83from the base system or 84.Xr beadm 1 85from ports (sysutils/beadm). 86.It Ev CONFIG_UPDATER Pq default: Dq Li "etcupdate" 87Config updater: 88.Xr etcupdate 8 89is supported. 90Set to an empty string to skip. 91.It Ev ETCUPDATE_FLAGS Pq default: Dq Li "-F" 92Flags for 93.Xr etcupdate 8 94if used. 95.It Ev NO_PKG_UPGRADE Pq default: Dq Li "" 96If not empty, 97.Dq Li pkg upgrade 98will be skipped. 99.El 100.Sh FILES 101.Bl -tag -width indent 102.It Sy src/ Ns Pa tools/build/beinstall.sh 103Place where 104.Nm 105lives in the src tree. 106.El 107.Sh SEE ALSO 108.Xr build 7 , 109.Xr development 7 , 110.Xr bectl 8 , 111.Xr etcupdate 8 , 112.Xr pkg 8 113.Sh HISTORY 114.Nm 115is inspired by and similar in function to 116Solaris/illumos-style upgrades. 117.Pp 118The 119.Nm 120manual page first appeared in 121.Fx 12.0 . 122.Sh AUTHORS 123The 124.Nm 125script was implemented by 126.An Will Andrews Aq Mt will@FreeBSD.org . 127This manual page was written by 128.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org . 129