xref: /freebsd/share/man/man8/beinstall.8 (revision e0c4386e7e71d93b0edc0c8fa156263fc4a8b0b6)
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